一、前言

QWidget翻译过来是小部件的意思,QWidgt 类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗 口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的, 并且它们按 Z 轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住 一部分。

二、学习目标

1.QWidgt界面实现

2.QWidgt常用方法

三、知识点

1.【QWidgt窗口实现】

基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类。

  • 创建语法:

    window = QWidget()

    Qwidget()中可填入参数:"(self, parent=None, flags)"

    parent :父类,设置窗口父类对象,不设置为None,为顶层窗口,非必填;

    flags:窗口标志,非必填。

  • 窗口标志类型:

    flags 说明
    Qt.MSWindowsFixedSizeDialogHint 窗口无法调整大小
    Qt.FramelessWindowHint 窗口无边框
    Qt.CustomizeWindowHint 有边框但无标题栏和按钮,不能移动和拖动
    Qt.WindowTitleHint 添加标题栏和一个关闭按钮
    Qt.WindowSystemMenuHint 添加系统目录和一个关闭按钮
    Qt.WindowMaximizeButtonHint 激活最大化和关闭按钮,禁止最小化按钮
    Qt.WindowMinimizeButtonHint 激活最小化和关闭按钮,禁止最大化按钮
    Qt.WindowMinMaxButtonsHint 激活最小化,最大化和关闭按钮
    Qt.WindowCloseButtonHint 添加一个关闭按钮
    Qt.WindowContextHelpButtonHint 添加问号和关闭按钮,同对话框
    Qt.WindowStaysOnTopHint 窗口始终处于顶层位置
    Qt.WindowStaysOnBottomHint 窗口始终处于底层位置
  • 普通写法

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import QApplication, QWidget #1.创建app实例
    app = QApplication(sys.argv)
    #2.创建窗体实例
    myMain = QWidget(flags=Qt.MSWindowsFixedSizeDialogHint)
    #3.显示窗体
    myMain.show()
    #4.运行app
    sys.exit(app.exec_())
  • 单继承模式写法

    一个完整程序的实现往往包含很多要素,如界面、槽函数、信号等,为了让我们的界面代码与业务逻辑代码进行分离,往往使用单继承模式。

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import QApplication, QWidget class QmyWidget(QWidget): def __init__(self, parent=None):
    super().__init__(parent, flags=Qt.MSWindowsFixedSizeDialogHint) # 调用父类的构造函数,创建QWidget窗体 if __name__ == '__main__':
    #1.创建app实例
    app = QApplication(sys.argv)
    #2.创建窗体实例
    myMain = QmyWidget()
    #3.显示窗体
    myMain.show()
    #4.运行app
    sys.exit(app.exec_())

2.【QWidgt常用方法】

  • 设置窗口位置及大小

    • 常用方法

      窗口位置常用方法 说明
      move(x, y) 设置窗口位置,左上角x,y坐标
      resize(width, height) 设置窗口尺寸,宽度、高度
      setGeometry(x, y, width, height) 设置窗口在屏幕中的位置与窗口的大小,x,y,宽度和高度
      adjustSize() 根据内容自适应大小
      setFixedSize() 设置固定尺寸
      setWindowTitle() 设置窗体标题
    • 代码示例

              self.move(150, 150)                   # 设置窗口位置
      self.resize(300, 200) # 设置窗口大小
      self.setWindowTitle('QWidgt组件演示') # 设置窗口标题
  • 设置气泡提示

    • 常用方法

      方法 说明
      setToolTip(str) 鼠标悬停在控件上一会后, 展示在旁边。
      toolTip() 获得信息提示内容。
      setToolTipDuration(msec) 设置显示时长。
      toolTipDuration() 获取显示时长。
      setWhatsThis(str) 切换到"查看这是啥"模式, 点击该控件时显示。
      whatsThis() 获取这是啥内容。
    • 代码示例

      # 设置气泡提示
      self.setToolTip('这是一个气泡显示')
  • 设置窗口图标

    • 常用方法

      方法 说明
      setWindowIcon() 设置窗体图标,需要传QIcon对象
    • 代码示例

      self.setWindowIcon(QIcon('logo.png'))

1.【窗口组件】小部件-QWidgt的更多相关文章

  1. Android 之窗口小部件详解--App Widget

    Android 之窗口小部件详解--App Widget  版本号 说明 作者 日期  1.0  添加App Widge介绍和示例  Sky Wang 2013/06/27        1 App ...

  2. Android 之窗口小部件详解(三)  部分转载

    原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...

  3. Android开发5:应用程序窗口小部件App Widgets的实现

    前言 本次主要是实现一个Android应用,实现静态广播.动态广播两种改变 widget内容的方法,即在上篇博文中实验的基础上进行修改,所以此次实验的重点是AppWidget小部件的实现啦~ 首先,我 ...

  4. 优质Android小部件:索尼滚动相册

    虽然骚尼手机卖的不怎么样,但是有些东西还是做的挺好的,工业设计就不用说了,索尼的相册的双指任意缩放功能也是尤其炫酷.其桌面小部件滚动相册我觉得也挺好的,比谷歌原生的相册墙功能好多了,网上搜了一下也没发 ...

  5. ArcGIS Server开发教程系列(8)ArcGIS API for Javascript-控件(小部件)

    1.     鹰眼 OverviewMap小部件用于在其关联的主地图内较清楚的当前鸟瞰图的范围.当主地图范围变化时,鹰眼图会自动在其空间内更新范围以保持和地图的当前范围保持一致,当鹰眼图空间的地图范围 ...

  6. 在android程序中加入widget(窗口小部件)并与之交互的关键代码

    摘要: widget(窗口小部件)可以增强应用程序的交互性, 是很多应用中都会用到的功能,本文不求大而全,但是会给出程序与widget交互的关键代码 正文: 其实widget是嵌入(embedded) ...

  7. yii YII小部件 创建登录表单表单 Login表单

    YII框架必须遵循其表单的创建方法 登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互 ,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码 protected --models - ...

  8. YII 小部件实现的注册表

    今天来进行用户注册功能yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:u ...

  9. YII 小部件 yii小部件查看方法 小物件做的表单

    要使用小部件,可以先到总文件去找   framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...

  10. Yii2的相关学习记录,alert等美化、confirm异步、session中的flash及小部件的使用(六)

    呃,系统自带的alert.confirm等弹出框实在是难看,作为一个颜控,这能忍? 这里我用的是kartik-v/yii2-dialog,这个是基于bootstrap3-dialog这个来做了一些常用 ...

随机推荐

  1. SpringBoot整合ES+Kibana

    前言:最近在写一个HTTP代理服务器,记录日志使用的是ES,所以涉及到SpringBoot和ES的整合,整合完毕后又涉及到数据可视化分析,所以使用了Kibana进行管理,有些坑,需要记录一下 Spri ...

  2. 彻底学会Selenium元素定位

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/63099961.html 你好,我是测试蔡坨坨. 最近收到不少初学UI自动化测试的小伙伴私信,对于元素的定位还是有些头疼,总 ...

  3. 畅联新接入物联设备的情况:丰宝 智慧消防领域的 NB水压一体机、智能消防栓、NB液位一体机

    我看了一下,似乎三种完全不同的协议额...应该是电信AEP平台,由双美接入. ------------------------------------------------------------- ...

  4. SpringBoot 06: springboot中使用redis

    配置SpringBoot 创建SpringBoot项目时勾选Redis起步依赖 <dependency> <groupId>org.springframework.boot&l ...

  5. IOT黑客入门篇之初探Badusb

    什么是Badusb?   BadUSB是一种使用带有恶意软件编程的USB设备的计算机安全攻击.例如,USB 闪存驱动器可以包含可编程的Intel 8051微控制器,该微控制器可以重新编程,将USB闪存 ...

  6. eBPF 实践 -- 网络可观测

    简介 观测云采集器,是一款开源.一体式的数据采集 Agent,它提供全平台操作系统支持,拥有全面数据采集能力,涵盖基础设施.指标.日志.应用性能.用户访问以及安全巡检等各种场景.通过 eBPF 技术的 ...

  7. KafkaOffsetMonitor:监控消费者和延迟的队列

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 目录 消费者组列表 消费组的topic列表 图中参数含义解释如下: topic的历史位置 O ...

  8. .net随笔——Web开发config替换到正式config appSettings

    前言(废话) 查了一些资料,总体来说呢,就是坑,而且顺带吐槽下百度,一个内容被copy那么多遍还排在最前面.同一个内容我点了那么多次,淦. 正题: 实现目的:开发的时候使用system.debug.c ...

  9. 基于Spring-AOP的自定义分片工具

    作者:陈昌浩 1 背景 随着数据量的增长,发现系统在与其他系统交互时,批量接口会出现超时现象,发现原批量接口在实现时,没有做分片处理,当数据过大时或超过其他系统阈值时,就会出现错误.由于与其他系统交互 ...

  10. 一图看懂Hadoop中的MapReduce与Spark的区别:从单机数据系统到分布式数据系统经历了哪些?

    今日博主思考了一个问题:Hadoop中的MapReduce与Spark他们之间到底有什么关系? 直到我看到了下面这张图 废话不多说先上图 我们知道,单机数据系统,在本地主机上针对数据有单机本地存储操作 ...