對于一個 GUI 應用來說尾膊,菜單欄是很常見的,它能夠滿足一些最基本的操作需求。本文由Cescfangs 譯自ZetCode pyqt5系列教程 并作適當修改赚抡。
import sys
from PyQt5.QtWidgets import qApp, QAction, QApplication, QMainWindow
from PyQt5.QtGui import QIcon
class exp(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.statusBar()
exitAction = QAction(QIcon('heart256.ico'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit app')
exitAction.triggered.connect(qApp.quit)
menubar = self.menuBar()
fileMenu = menubar.addMenu('&file')
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('menubar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = exp()
sys.exit(app.exec_())
通過上面的代碼羊异,我們在菜單欄上創(chuàng)建了一個退出的菜單事秀,同時還附帶創(chuàng)建了一個狀態(tài)欄彤断,并設(shè)置了ctrl+Q
的快捷鍵。
exitAction = QAction(QIcon('heart256.ico'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit app')
QAction
是一個抽象基類易迹,可以通過菜單欄宰衙、工具欄或者快捷鍵實現(xiàn)。上面的三行代碼睹欲,我們創(chuàng)建了一個帶有圖標和'Exit'的菜單供炼,同時我們還設(shè)置了執(zhí)行這個命令的快捷鍵以及鼠標懸到這個菜單上時的提示信息。
exitAction.triggered.connect(qApp.quit)
當我們執(zhí)行這個動作時窘疮,會發(fā)射一個triggered
信號袋哼,這個信號和quit()
連接,這個應用也就終止了闸衫。
menubar = self.menuBar()
fileMenu = menubar.addMenu('&file')
fileMenu.addAction(exitAction)
最后創(chuàng)建這個菜單欄涛贯,上面附加了一個名為'file'的菜單,然后把我們之前創(chuàng)建的exitAction
添加到'file'這個菜單里蔚出。
菜單欄
Exit