1. 程式人生 > 其它 >5.3 QPushButton按鈕控制元件及建立選單

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.執行結果