一、前言
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'))
-