简介
QMainWindow类提供了一个应用主窗口。默认创建一个拥有状态栏、工具栏和菜单栏的经典应用窗口骨架。
状态栏
import sys
from PyQt5 import QtWidgetsclass Example(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle('状态栏')self.statusBar().showMessage('空窗体')self.setGeometry(300, 300, 400, 200)self.show()if __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)ex = Example()sys.exit(app.exec_())
菜单栏
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIconclass Example(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 400, 200)self.setWindowTitle('Menubar')self.initMenu()self.show()def initMenu(self):'''File菜单栏添加Exit标签:return:'''# QAction是一个用于菜单栏、工具栏或自定义快捷键的抽象动作行为。#创建Exit标签exitAction = QAction(QIcon('exit.ico'), '&Exit', self) # 创建一个标签:图标为exit.ico、文本为'Exit'exitAction.setShortcut('Ctrl+Q') # 定义快捷键exitAction.setStatusTip('Exit application') # 鼠标浮于菜单项之上就会显示的一个状态提示exitAction.triggered.connect(qApp.quit) # 触发quit()方法self.statusBar()# Exit标签加入File菜单栏menubar = self.menuBar() # 创建菜单栏fileMenu = menubar.addMenu('&File') # 创建File菜单fileMenu.addAction(exitAction) # File菜单添加Exit标签if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())
工具栏
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIconclass Example(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 400, 200)self.setWindowTitle('Menubar')self.initMenu()self.show()def initMenu(self):'''工具栏加Exit标签:return:'''# QAction是一个用于菜单栏、工具栏或自定义快捷键的抽象动作行为。# 创建Exit标签exitAction = QAction(QIcon('exit.ico'), '&Exit', self) # 创建一个标签:图标为exit.ico、文本为'Exit'exitAction.setShortcut('Ctrl+Q') # 定义快捷键exitAction.triggered.connect(qApp.quit) # 触发quit()方法# 创建Exit标签加入工具栏self.toolbar = self.addToolBar('Exit')self.toolbar.addAction(exitAction)if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())
组件组合
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIconclass Example(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 400, 200)self.setWindowTitle('Menubar')self.initMenu()self.show()def initMenu(self):'''工具栏加Exit标签:return:'''# QAction是一个用于菜单栏、工具栏或自定义快捷键的抽象动作行为。# 创建Exit标签exitAction = QAction(QIcon('exit.ico'), '&Exit', self) # 创建一个标签:图标为exit.ico、文本为'Exit'exitAction.setShortcut('Ctrl+Q') # 定义快捷键exitAction.triggered.connect(qApp.quit) # 触发quit()方法self.statusBar()# Exit标签加入File菜单栏menubar = self.menuBar()fileMenu = menubar.addMenu('&File')fileMenu.addAction(exitAction)# 创建Exit标签加入工具栏self.toolbar = self.addToolBar('Exit')self.toolbar.addAction(exitAction)if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())