Last Updated on 2021-11-08 by Clay
無論我們想要製作任何元件,『按鈕元件』想必都是不可獲缺的、是最最基礎的元件種類之一。
而 Qt 框架中當然有提供按鈕元件,以下就簡單紀錄該如何在 PySide 框架中撰寫按鈕的程式。
(註:本筆記所使用的版本皆為 PySide6)
範例程式碼
下方程式由官方文檔改寫。
其中,@slot()
是一個裝飾器(decorator)。裝飾器是一個 Python 所提供的語法糖,由於我沒有撰寫過類似的筆記文章,現在開始討論又偏離了主題,只好推薦網路上的各種教學了。
# coding: utf-8
import sys
from PySide6.QtWidgets import QApplication, QPushButton
from PySide6.QtCore import Slot
@Slot()
def hello_world():
print("Hello World!")
def main():
app = QApplication([])
button = QPushButton("Click")
button.clicked.connect(hello_world)
button.show()
app.exec()
if __name__ == "__main__":
main()
Output:
點擊中央的 Click 按鈕之後,終端機中便會印出:
Hello World!
範例程式解釋
QPushButton
是 Qt 中提供的按鈕元件,我們須先將其物件 button
建立起來,並使用
button.clicked.connect(hello_world)
來連接 hello_world()
函式;是的,不需要加括號。
接著當我們點擊按鈕時,程式就會自動開始執行 hello_world()
函式的功能了。
以上就是 PySide6 中按鈕的最基本範例。
References
- https://doc.qt.io/qtforpython/tutorials/basictutorial/clickablebutton.html
- https://doc.qt.io/qtforpython/PySide6/QtWidgets/QPushButton.html