91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
榆社县| 芦山县| 宁陕县| 双峰县| 云霄县| 中阳县| 通道| 普洱| 武隆县| 义马市| 上犹县| 县级市| 苍梧县| 秀山| 漳平市| 前郭尔| 怀远县| 临城县| 白玉县| 博客| 萨嘎县| 九龙城区| 武邑县| 温州市| 通许县| 东宁县| 山西省| 玉龙| 始兴县| 五河县| 融水| 增城市| 南康市| 同德县| 镇远县| 永泰县| 特克斯县| 璧山县| 阿合奇县| 资溪县| 东安县|