本节主要介绍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'
self.left = 30
self.top = 40
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_())
运行效果如下:
注释:
1) QMainWindow类提供了一个主应用程序窗口
2) QApplication类管理GUI应用程序的控制流程和主要设置
3) QAction类提供了可以插入到窗口小部件中的抽象用户界面操作