前述
窗口部件是用Qt创建GUI的基础模块,每个GUI组件(例如按钮、标签、文本编辑器)都是在用户界面窗口内某处放置的一个窗口部件,或作为独立窗口显示。每个部件类型都由QWidget子类提供(QWidget是QObject子类)。QWidget不是一个抽象类,它可以作为其他窗口部件的容器使用,也可以被子类化来创建新的自定义部件,QWidget经常用于在其他被放置的QWidgets内创建一个窗口
与QObjects相同,QWidgets可以用父对象创建来表明所属权,确保当对象不再使用时删除,这些部件的父-子关系有深层含义:每个子部件在屏幕内的显示区域被他的父部件占有,这意味着当你删除窗口部件时,所有它包含的子部件都被删除。
主程序视窗
与cpp主程序不同,在python下,一个典型的主程序结构如下:
from PyQt5.QtWidgets import *
import sys
# 模块导入
class MainWindow(QMainWindow):
# 构建主程序类,继承自QMainWindow
def __init__(self):
# 重写初始化方法
super(MainWindow, self).__init__()
# 自定义方法
if __name__ == '__main__':
app = QApplication(sys.argv)
# 关于QApplication详见下方相关类
mw = MainWindow()
# 实例化类
mw.show()
app.exec_()
# 执行app,exec_()是PyQt方法
案例
创建一个视窗
from PyQt5.QtWidgets import *
import sys
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.resize(320, 240)