<font style="color:rgb(37, 37, 37);">QMainWindow</font>,它提供了一些有用的通用界面元素,例如工具栏和菜单。这些将在后续教程中更详细地探讨。
安装库
pip install pyqt5pip install pyqt5-tools
创建单组件应用
在项目的根目录中创建一个空白文件app.py, 输入如下代码
# 从安装的PyQt5的子库QtWidgets中导入应用类和组件类from PyQt5.QtWidgets import QApplication,QWidgetimport sys# 对于每一个应用来说都是是一个QApplication的实例, 在传入sys.argv参数后# 意味着当前应用接受命令行信息,如果不接受的话可以通过QApplication([])实例化一个appapp = QApplication(sys.argv)# 基于QWidgets创建一个window组件window = QWidget()# 启动时开启window.show()# 启动应用的event loopapp.exec()
启动app
python3 app.py

from PyQt5.QtWidgets import QApplication,QPushButtonimport sysapp = QApplication(sys.argv)# 尝试使用别的组件创建windowwindow = QPushButton()window.show()app.exec()
什么是Event Loop?
上面的案例中我们提到一个概念Event Loop,那么什么是Event Loop对于每一个Qt应用来说核心是QApplication类,每一个应用都是一个QApplication的实例。该实例维护了一个Event Loop在用户的GUI交互和应用之间构建了交互桥梁。

既然我们在实际应用中有如此多的交互,所以日常的应用不大可能是单组件应用,上面的案例在实际开发中并不常见,而且我们需要对window做更多设置,通常用到的是QMainWindow来创建多组件应用。
from PyQt5.QtWidgets import QApplication,QMainWindow,QPushButtonimport sysclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("教学应用")button = QPushButton("提交")# 将按钮设置在窗口的中心部位self.setCentralWidget(button)# 设置window默认宽高self.setFixedSize(600,300)# 设置window最大宽高self.setMaximumSize(800,400)# 设置window最小宽高self.setMinimumSize(200,100)app =QApplication(sys.argv)window = MainWindow()window.show()app.exec()

