效果如下:
1 """ 2 ZetCode PyQt5 tutorial 3 This program creates a checkable menu. 4 """ 5 6 import sys 7 from PyQt5.QtWidgets import QMainWindow, QAction, QApplication 8 9 10 class Example(QMainWindow): 11 12 def __init__(self): 13 super().__init__() 14 15 self.initUI() 16 17 def initUI(self): 18 19 self.statusbar = self.statusBar() 20 self.statusbar.showMessage('Ready') 21 22 menubar = self.menuBar() 23 viewMenu = menubar.addMenu('View') 24 25 # 使用checkable选项,我们创建了一个可选择菜单 26 viewStatAct = QAction('View statusbar', self, checkable=True) 27 28 viewStatAct.setStatusTip('View statusbar') 29 viewStatAct.setChecked(True) 30 viewStatAct.triggered.connect(self.toggleMenu) 31 32 viewMenu.addAction(viewStatAct) 33 34 self.setGeometry(300, 300, 300, 200) 35 self.setWindowTitle('Check menu') 36 self.show() 37 38 def toggleMenu(self, state): 39 40 if state: 41 self.statusbar.show() 42 else: 43 self.statusbar.hide() 44 45 46 if __name__ == '__main__': 47 48 app = QApplication(sys.argv) 49 ex = Example() 50 sys.exit(app.exec_())