# PyQt5 菜单 > 原文: [https://pythonspot.com/pyqt5-menu/](https://pythonspot.com/pyqt5-menu/) 要为 [**PyQt5**](https://pythonspot.com/pyqt5/) 程序创建菜单,我们需要使用 QMainWindow。 这种类型的菜单在许多应用程序中都可见,并显示在窗口栏的正下方。 它通常具有文件和编辑子菜单。 **相关课程:** [使用 PyQt5 创建 GUI 应用程序](https://gum.co/pysqtsamples) 可以使用 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 sys from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QAction from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot class App(QMainWindow): def __init__(self): super().__init__() self.title = 'PyQt5 menu - pythonspot.com' self.left = 10 self.top = 10 self.width = 640 self.height = 400 self.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_()) ``` 结果: ![pyqt5-menu](img/c5f854a140b5ba105f0ef20d4ef12150.jpg) [下载 PyQT5 示例](https://pythonspot.com/download-pyqt5-examples/)