在项目中会使用到要让某个menu处于check状态:
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, QApplication
class checkMenuBar(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.statusbar = self.statusBar()
self.statusbar.showMessage('Ready')
menubar = self.menuBar()
viewMenu = menubar.addMenu('File')
viewStatAct = QAction('File menuBar', self, checkable=True)
viewStatAct.setStatusTip('File menuBar')
viewStatAct.setChecked(True)
viewStatAct.triggered.connect(self.toggleMenu)
viewMenu.addAction(viewStatAct)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('PyQt5 - Check menu')
self.show()
def toggleMenu(self, state):
if state:
self.statusbar.show()
else:
self.statusbar.hide()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = checkMenuBar()
sys.exit(app.exec_())
viewStatAct = QAction('View statusbar', self, checkable=True) 用checkable选项创建一个能选中的菜单。 viewStatAct.setChecked(True) 默认设置为选中状态。
程序预览: