学习资源:《Python GUI设计PyQt5从入门到实践》
(16条消息) 学习记录Day4-Python GUI设计PyQt5从入门到实践_li_s_t的博客-CSDN博客
接上回成功运行第一个PyQt5窗口程序,其中添加的主程序如下:
import sys
#程序入口,程序从此处启动PyQt设计的窗口
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow() #创建窗口对象
ui = Ui_MainWindow() #创建PyQt设计的窗口对象
ui.setupUi(MainWindow) #调用PyQt窗体的方法对窗体对象进行初始化设置
MainWindow.show() #显示窗体
sys.exit(app.exec_()) #程序关闭时退出进程
一、使用setWindowsFlags()函数设置窗口样式
Qt.WindowsFlags参数表示要设置的窗口样式,其取值分为两种类型。
下面两个表格是自己手打的,如有误欢迎评论区留言,非常感谢!!
二、表1-PyQt5的基本窗口类型及说明
参数值 | 说明 |
Qt.Widget | 默认窗口,有最大化、最小化和关闭按钮 |
Qt.Window | 普通窗口,有最大化、最小化和关闭按钮 |
Qt.Dialog | 对话框窗口,有问号(?)和关闭按钮 |
Qt.Popup | 无边框的弹出窗口 |
Qt.ToolTip | 无边框的弹出窗口,没有任务栏 |
Qt.SplashScreen | 无边框的闪屏窗口,没有任务栏 |
Qt.SubWindow | 子窗口,窗口没有按钮,但有标题 |
例如,下面代码用来将名称为MainWindow的窗口设置为一个对话框窗口
MainWindow.setWindowFlags(QtCore.Qt.Dialog) #显示一个有问号(?)和关闭按钮的对话框
三、表2-自定义顶层窗口外观及说明
参数值 | 说明 |
Qt.MSWindowsFixedSizeDialogHint | 无法调整大小的窗口 |
Qt.FramelessWindowHint | 无边框窗口 |
Qt.CustomizeWindowHint | 有边框但无标题和按钮,不能移动和拖动的窗口 |
Qt.WindowTitleHint | 添加标题栏和一个关闭按钮的窗口 |
Qt.WindowSystemMenuHint | 添加系统目录和一个关闭按钮的窗口 |
Qt.WindowMaximizeButtonHint | 激活最大化按钮的窗口 |
Qt.WindowMinimizeButtonHint | 激活最小化按钮的窗口 |
Qt.WindowMinMaxButtonsHint | 激活最小化和最大化按钮的窗口 |
Qt.WindowCloseButtonHint | 添加一个关闭按钮的窗口 |
Qt.WindowContextHelpButtonHint | 添加像对话框一样的问号(?)和关闭按钮 |
Qt.WindowStaysOnTopHint | 使窗口始终处于顶层位置 |
Qt.WindowStaysOnBottomHint | 使窗口始终处于底层位置 |
例如,下面代码用来设置名称为MainWindow的窗口只有关闭按钮,而没有最大化、最小化按钮:
MainWindow.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) #只显示关闭按钮
四、具体应用
注意:需要将设置窗口样式的代码放在setupUi()函数之后执行。
import sys
#程序入口,程序从此处启动PyQt设计的窗口
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow() #创建窗口对象
ui = Ui_MainWindow() #创建PyQt设计的窗口对象
ui.setupUi(MainWindow) #调用PyQt窗体的方法对窗体对象进行初始化设置
MainWindow.setWindowFlags(QtCore.Qt.Window)
MainWindow.show() #显示窗体
sys.exit(app.exec_()) #程序关闭时退出进程