按鈕(Buttons) 是 GUI 中很常用到的元件
按鈕的建置跟上一篇提到很相識, 但多了一個連動的概念以 PyQT 來說就是Signals and Slot
(訊號與槽) 葉就是說當我按了一個 Button ( 發射一個訊號) 要執行哪個動作 (到哪個槽)
直接看範例吧
# import 有用的的 library
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
# 定義 Button1 被觸發時要執行的槽
def button1_clicked():
print("Button 1 clicked")
# 定義 Button1 被觸發時要執行的槽
def button2_clicked():
print("Button 2 clicked")
#創建 APP 這個 GUI
app = QApplication(sys.argv)
#創建一個 Widget 物件
widget = QWidget()
#再 widget windows 內創建一個 Button 物件
button1 = QPushButton(widget)
button1.setText("Button1") # 建立名字
button1.move(64,32) # 移動位置
# 當 button1 這個物件發出訊號時( 被按了) 到 button1_clicked 這個槽執行
button1.clicked.connect(button1_clicked)
button2 = QPushButton(widget)
button2.setText("Button2")
button2.move(64,64)
button2.clicked.connect(button2_clicked)
# 訂定 widget 視窗的大小, 名稱
widget.setGeometry(50,50,320,200)
widget.setWindowTitle("PyQt5 Button Click Example")
widget.show() # 顯示 widget
sys.exit(app.exec_()) # 讓視窗循環顯示
執行解果如下
當 button 按下是 會 print
沒有留言:
張貼留言