要为 PyQt5 程序创建菜单,我们需要使用QMainWindow。 这种类型的菜单在许多应用程序中都可见,并显示在窗口栏的正下方。 它通常具有文件和编辑子菜单。
可以使用menuBar()方法创建顶部菜单。 子菜单添加了addMenu(name)。示例:
mainMenu = self.menuBar()fileMenu = mainMenu.addMenu('File')editMenu = mainMenu.addMenu('Edit')viewMenu = mainMenu.addMenu('View')searchMenu = mainMenu.addMenu('Search')toolsMenu = mainMenu.addMenu('Tools')helpMenu = mainMenu.addMenu('Help')
可以将单个按钮添加到菜单中,如下所示:
exitButton = QAction(QIcon('exit24.png'), 'Exit', self)exitButton.setShortcut('Ctrl+Q')exitButton.setStatusTip('Exit application')exitButton.triggered.connect(self.close)fileMenu.addAction(exitButton)
PyQt5 菜单示例
完整代码:
import sysfrom PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QActionfrom PyQt5.QtGui import QIconfrom PyQt5.QtCore import pyqtSlotclass App(QMainWindow):def __init__(self):super().__init__()self.title = 'PyQt5 menu - pythonspot.com'self.left = 10self.top = 10self.width = 640self.height = 400self.initUI()def initUI(self):self.setWindowTitle(self.title)self.setGeometry(self.left, self.top, self.width, self.height)mainMenu = self.menuBar()fileMenu = mainMenu.addMenu('File')editMenu = mainMenu.addMenu('Edit')viewMenu = mainMenu.addMenu('View')searchMenu = mainMenu.addMenu('Search')toolsMenu = mainMenu.addMenu('Tools')helpMenu = mainMenu.addMenu('Help')exitButton = QAction(QIcon('exit24.png'), 'Exit', self)exitButton.setShortcut('Ctrl+Q')exitButton.setStatusTip('Exit application')exitButton.triggered.connect(self.close)fileMenu.addAction(exitButton)self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = App()sys.exit(app.exec_())
结果:

