天天看點

python menu執行個體_python GUI庫圖形界面開發之PyQt5菜單欄控件QMenuBar的詳細使用方法與執行個體...

PyQt5菜單欄控件QMenuBar介紹

QMenuBar在QMainWindow對象的标題欄下方,水準的QMenuBar被保留顯示QMenu對象

QMenuBar類提供了一個可以包含一個或多個QAction對象或 級聯的QMenu對象,要建立一個彈出菜單,Pyqt提供了createPopupMenu()函數,menuBar()函數用于傳回主視窗的QMenuBar對象:addMenu()函數可以将菜單添加到菜單欄中,通過addAction()函數可以在菜單中進行添加操作

設計菜單系統時常用的一些重要方法

方法

描述

menuBar()

傳回主視窗的QMenuBar對象

addMenu()

在菜單欄中添加一個新的QMenu對象

addAction()

向QMenu小控件中添加一個操作按鈕,其中包含文本或圖示

setEnabled()

将操作按鈕設定為啟用/禁用

addSeperator()

在菜單中添加一條分割線

clear()

删除菜單欄的内容

setShortcut()

将快捷鍵關聯到操作按鈕

setText()

設定菜單項的文本

setTitle()

設定QMenu小控件的标題

text()

傳回與QACtion對象關聯的文本

title()

傳回QMenu小控件的标題

單擊任何QAction按鈕時,QMenu對象都會發射triggered信号

QMenuBar的使用執行個體

import sys

from PyQt5.QtGui import *

from PyQt5.QtWidgets import *

from PyQt5.QtCore import *

class MenuDemo(QMainWindow):

def __init__(self,parent=None):

super(MenuDemo, self).__init__(parent)

#水準布局

layout=QHBoxLayout()

#執行個體化主視窗的QMenuBar對象

bar=self.menuBar()

#向菜單欄中添加新的QMenu對象,父菜單

file=bar.addMenu('File')

#向QMenu小控件中添加按鈕,子菜單

file.addAction('New')

#定義響應小控件按鈕,并設定快捷鍵關聯到操作按鈕,添加到父菜單下

save=QAction('Save',self)

save.setShortcut('Ctrl+S')

file.addAction(save)

#建立新的子菜單項,并添加孫菜單

edit=file.addMenu('Edit')

edit.addAction('Copy')

edit.addAction('Paste')

#添加父菜單下

quit=QAction('Quit',self)

file.addAction(quit)

#單擊任何Qmenu對象,都會發射信号,綁定槽函數

file.triggered[QAction].connect(self.processtrigger)

#設定布局及标題

self.setLayout(layout)

self.setWindowTitle('menu例子')

def processtrigger(self,q):

#輸出那個Qmenu對象被點選

print(q.text()+'is triggeres')

if __name__ == '__main__':

app=QApplication(sys.argv)

demo=MenuDemo()

demo.show()

sys.exit(app.exec_())

運作程式,顯示效果如圖

python menu執行個體_python GUI庫圖形界面開發之PyQt5菜單欄控件QMenuBar的詳細使用方法與執行個體...

QMenuBar代碼分析

在這個例子中,頂層視窗必須是QMainWindow對象,才可以引用QMenuBar對象

通過addMenu()方法将‘File'菜單添加到菜單欄

bar=self.menuBar()

#向菜單欄中添加新的QMenu對象,父菜單

file=bar.addMenu('File')

菜單欄中的操作按鈕可以是字元串或QAction對象

file.addAction('New')

#定義響應小控件按鈕,并設定快捷鍵關聯到操作按鈕,添加到父菜單下

save=QAction('Save',self)

save.setShortcut('Ctrl+S')

file.addAction(save)

将子菜單添加到頂級菜單中

edit=file.addMenu('Edit')

edit.addAction('Copy')

edit.addAction('Paste')

菜單發射triggered信号,将信号連接配接到槽函數processtrigger()該函數接受信号的QAction對象

file.triggered[QAction].connect(self.processtrigger)

本文詳細講解了PyQt5菜單欄控件QMenuBar的使用方法與執行個體,更多關于PyQt5菜單欄控件的使用知識請檢視下面的相關連結

本文标題: python GUI庫圖形界面開發之PyQt5菜單欄控件QMenuBar的詳細使用方法與執行個體

本文位址: http://www.cppcns.com/jiaoben/python/301716.html