天天看點

PyQt5筆記(06) -- 菜單

目錄

PyQt5筆記(01) – 建立空白窗體

PyQt5筆記(02) – 按鈕點選事件

PyQt5筆記(03) – 消息框

PyQt5筆記(04) – 文本框的使用

PyQt5筆記(05) – 絕對位置

為了便于後期更新,所有目錄已彙總到一個連結,具體請移步到這裡

正文

本節主要介紹PyQt5的菜單的建立與使用

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QAction
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 menu'
        self.left = 30
        self.top = 40
        self.width = 640
        self.height = 400
        self.initUI()
    
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        
        """建立菜單欄"""
        mainMenu = self.menuBar()
        """在菜單欄添加父菜單内容"""
        fileMenu = mainMenu.addMenu('File')
        editMenu = mainMenu.addMenu('Edit')
        viewMenu = mainMenu.addMenu('View')
        searchMenu = mainMenu.addMenu('Search')
        toolsMenu = mainMenu.addMenu('Tools')
        helpMenu = mainMenu.addMenu('Help')
        
        """添加子菜單按鈕"""
        exitButton = QAction(QIcon('exit24.png'), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        """滑鼠放置在子菜單時提示内容"""
        exitButton.setStatusTip('Exit application')
        exitButton.triggered.connect(self.close)
        """将子菜單添加到父菜單"""
        fileMenu.addAction(exitButton)
        
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())
           

運作效果如下:

PyQt5筆記(06) -- 菜單

注釋:

  1. QMainWindow類提供了一個主應用程式視窗
  2. QApplication類管理GUI應用程式的控制流程和主要設定
  3. QAction類提供了可以插入到視窗小部件中的抽象使用者界面操作