亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

python qpushbutton的信號與槽機制

小樊
84
2024-09-06 15:52:34
欄目: 編程語言

在 PyQt5 中,QPushButton 是一個常用的 GUI 組件,它可以觸發特定的操作

以下是一個簡單的示例,展示了如何使用 QPushButton 的信號和槽機制:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLabel

class MyApp(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('QPushButton Signal and Slot')

        # 創建一個 QPushButton 實例
        self.button = QPushButton('Click me', self)

        # 創建一個 QLabel 實例,用于顯示按鈕被點擊的次數
        self.label = QLabel('Button clicked 0 times', self)

        # 創建一個 QVBoxLayout 實例,用于布局按鈕和標簽
        layout = QVBoxLayout()
        layout.addWidget(self.button)
        layout.addWidget(self.label)

        # 將布局設置為窗口的布局
        self.setLayout(layout)

        # 連接 QPushButton 的 clicked 信號到自定義的槽函數
        self.button.clicked.connect(self.on_button_clicked)

    def on_button_clicked(self):
        # 獲取當前標簽文本
        text = self.label.text()

        # 解析出按鈕被點擊的次數
        count = int(text.split()[-1])

        # 更新按鈕被點擊的次數
        count += 1

        # 更新標簽文本
        self.label.setText(f'Button clicked {count} times')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    ex.show()
    sys.exit(app.exec_())

在這個示例中,我們創建了一個名為 MyApp 的類,它繼承自 QWidget。在 initUI 方法中,我們創建了一個 QPushButton 實例和一個 QLabel 實例。然后,我們將這兩個組件添加到一個 QVBoxLayout 實例中,并將該布局設置為窗口的布局。

接下來,我們連接 QPushButton 的 clicked 信號到自定義的槽函數 on_button_clicked。當按鈕被點擊時,這個槽函數會被調用,更新 QLabel 的文本以顯示按鈕被點擊的次數。

最后,我們創建了一個 QApplication 實例,并將 MyApp 實例顯示出來。程序將持續運行,直到用戶關閉窗口。

0
宜城市| 建水县| 剑川县| 通化县| 滁州市| 建平县| 金堂县| 忻城县| 白山市| 阿拉善右旗| 常德市| 故城县| 泰安市| 鄂温| 庆元县| 庆阳市| 延津县| 岐山县| 西和县| 西城区| 农安县| 徐汇区| 分宜县| 讷河市| 福清市| 闻喜县| 台南市| 墨竹工卡县| 榆树市| 和政县| 黑水县| 蚌埠市| 永吉县| 道孚县| 青冈县| 谢通门县| 长沙市| 宁城县| 泸水县| 闵行区| 吴川市|