溫馨提示×

python qpushbutton的自定義事件如何觸發

小樊
105
2024-09-06 14:37:40
欄目: 編程語言

在 PyQt5 中,要觸發 QPushButton 的自定義事件,您需要先創建一個信號(signal),然后將其連接到槽函數(slot function)。以下是一個簡單的示例:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PyQt5.QtCore import pyqtSignal

class CustomPushButton(QPushButton):
    custom_signal = pyqtSignal()

    def __init__(self, parent=None):
        super().__init__(parent)
        self.clicked.connect(self.on_click)

    def on_click(self):
        self.custom_signal.emit()

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Custom QPushButton')

        layout = QVBoxLayout()

        button = CustomPushButton("Click me")
        button.custom_signal.connect(self.on_custom_signal)
        layout.addWidget(button)

        self.setLayout(layout)

    def on_custom_signal(self):
        print("Custom signal triggered!")

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

在這個示例中,我們創建了一個名為 CustomPushButton 的自定義按鈕類,它繼承自 QPushButton。我們在這個類中定義了一個名為 custom_signal 的信號,并在按鈕被點擊時觸發它。

然后,在 MainWindow 類中,我們創建了一個 CustomPushButton 實例,并將其 custom_signal 連接到 on_custom_signal 槽函數。當按鈕被點擊時,on_custom_signal 函數將被調用,輸出 “Custom signal triggered!”。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女