5.3 QPushButton按鈕控件及創建菜單


一、QPushButton按鈕控件及創建菜單

1.基本知識

'''
setMenu(QMenu) 設置菜單
menu() 獲取菜單
showMenu() 展示菜單
QMenu()繼承自QWidget
addMenu(QMenu) 添加子菜單
addSeparator() 添加分割線
addAction(QAction) 添加行為動作
QMenu控件設置:setTitle() setIcon(QIcon)
QAction設置:setText() setIcon(QIcon) 信號:triggered
'''

2.代碼

from PyQt5.Qt import *
import sys


app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('QPushButton - PyQt5中文網')
window.resize(600, 450)
window.move(300, 300)

# ==============QPushbutton的構造函數=============== # 代碼分割線 - 開始
# btn1 = QPushButton()        #按鈕會當作單獨的頁面 會有兩個頁面
# btn2 = QPushButton(window)  #會在window中生成一個按鈕
# btn3 = QPushButton('按鈕',window)#會在window中生成一名稱為‘按鈕’的控件
#1.創建按鈕
btn4 = QPushButton(QIcon('aaa.png'), '按鈕', window)#會在window中生成一名稱為‘按鈕’,圖標為aaa
# ==============QPushbutton的構造函數=============== # 代碼分割線 - 結束

# ==============控件菜單設置=============== # 代碼分割線 - 開始
# 流程參考test.py
# 2.創建菜單對象
menu = QMenu()
# 3.創建子菜單
sun_menu = QMenu(menu)
sun_menu.setTitle('子菜單標題') #設置子菜單標題
# 4.構造一個菜單
menuAction1 = QAction(QIcon('aaa.png'), '菜單1', window)
#menuAction1.triggered.connect(lambda : print('WWWWWW'))

menuAction2 = QAction(QIcon('aaa.png'), '菜單2', window)
#menuAction2.triggered.connect(lambda : print('SSSSSSSS'))

menuAction3 = QAction(QIcon('aaa.png'),'菜單3', window)
#menuAction3.triggered.connect(lambda : print('AAAAA'))

sun_menuAction = QAction(QIcon('aaa.png'), '子菜單1', window)

# 5.添加菜單列表
menu.addAction(menuAction1)
menu.addAction(menuAction2)
menu.addSeparator()  # 添加分割線
# 6.添加子菜單列表
menu.addMenu(sun_menu)  # 先在主菜單欄中添加一個子菜單
sun_menu.addAction(sun_menuAction)  # 然后為上面的子菜單添加子菜單
menu.addAction(menuAction3)
# 7.為按鈕添加菜單
btn4.setMenu(menu)
# btn4.showMenu()  # 繼承與QWidget所以可以單獨展示
# ==============控件菜單設置=============== # 代碼分割線 - 結束

window.show()
btn4.showMenu()
sys.exit(app.exec_())

3.運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM