任务目标:
完成菜单栏的设计和编码
设计:
完整代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(326, 167)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 326, 29))
self.menuBar.setObjectName("menuBar")
self.menu = QtWidgets.QMenu(self.menuBar)
self.menu.setObjectName("menu")
self.menu_2 = QtWidgets.QMenu(self.menuBar)
self.menu_2.setObjectName("menu_2")
MainWindow.setMenuBar(self.menuBar)
self.action_N = QtWidgets.QAction(MainWindow)
self.action_N.setObjectName("action_N")
self.actionnew_file = QtWidgets.QAction(MainWindow)
self.actionnew_file.setObjectName("actionnew_file")
self.actionnew_file.setText("新建11")#设置菜单文本
self.actionnew_file.setToolTip("新建") # 设置提示文本
self.actionnew_file.setShortcut("Ctrl+N") # 设置快捷键
self.actionopen_file = QtWidgets.QAction(MainWindow)
self.actionopen_file.setObjectName("actionopen_file")
self.actionopen_file.setText("打开")
self.actionopen_file.setShortcut("Ctrl+O") # 设置快捷键
self.actionclose = QtWidgets.QAction(MainWindow)
self.actionclose.setObjectName("actionclose")
self.actionclose.setShortcut("Ctrl+O") # 设置快捷键
self.menu.addAction(self.actionnew_file)#在文件中添加“新建”菜单项
self.menu.addAction(self.actionopen_file)
self.menu.addSeparator()
self.menu.addAction(self.actionclose)
self.menuBar.addAction(self.menu.menuAction())
self.menuBar.addAction(self.menu_2.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.menu.setTitle(_translate("MainWindow", "文件"))
self.menu_2.setTitle(_translate("MainWindow", "编辑"))
self.action_N.setText(_translate("MainWindow", "新建(&N)"))
self.actionnew_file.setText(_translate("MainWindow", "新建(&N)"))
#self.actionopen_file.setText(_translate("MainWindow", "open file"))
self.actionclose.setText(_translate("MainWindow", "close"))
import sys
if __name__ == '__main__':
app=QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
大家要注意一下两行代码:
self.actionnew_file.setText("新建11")#设置菜单文本
和
self.actionnew_file.setText(_translate("MainWindow", "新建(&N)"))
这两句谁在后面谁决定菜单文本的内容
用来设置快捷键的语句:
self.actionnew_file.setShortcut("Ctrl+N") # 设置快捷键
效果: