PyQt5學習筆記(六):創建菜單欄

對于一個 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_())

通過上面的代碼,我們在菜單欄上創建了一個退出的菜單,同時還附帶創建了一個狀態欄,并設置了ctrl+Q的快捷鍵。

exitAction = QAction(QIcon('heart256.ico'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit app')

QAction是一個抽象基類,可以通過菜單欄、工具欄或者快捷鍵實現。上面的三行代碼,我們創建了一個帶有圖標和'Exit'的菜單,同時我們還設置了執行這個命令的快捷鍵以及鼠標懸到這個菜單上時的提示信息。

exitAction.triggered.connect(qApp.quit)

當我們執行這個動作時,會發射一個triggered信號,這個信號和quit()連接,這個應用也就終止了。

menubar = self.menuBar()
fileMenu = menubar.addMenu('&file')
fileMenu.addAction(exitAction)

最后創建這個菜單欄,上面附加了一個名為'file'的菜單,然后把我們之前創建的exitAction添加到'file'這個菜單里。

菜單欄
Exit
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容