PyQt5基礎學習-信號和槽的自動連接 1.@QtCore.pyqtSlot(定義為槽函數) 2.QpushButton().setObjectName("設置需要綁定的函數名")


@QtCore.pyqtSlot 定義為需要自動連接的槽函數, on_對象名_信號名字

AutoSignalSlot.py 

"""
信號與槽自動連接

on_對象名_signalname

"""
from PyQt5 import QtCore
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton
import sys

class AutoSignalSlot(QWidget):
    def __init__(self):
        super(AutoSignalSlot, self).__init__()
        self.okButton = QPushButton('ok', self)
        self.okButton.setObjectName("okButton")

        self.okButton1 = QPushButton('cancel', self)
        self.okButton1.setObjectName("cancelButton")


        layout = QHBoxLayout()
        layout.addWidget(self.okButton)
        self.setLayout(layout)
        QtCore.QMetaObject.connectSlotsByName(self)
        #self.okButton.clicked.connect(self.on_okButton_clicked)

    @QtCore.pyqtSlot()
    def on_okButton_clicked(self):
        print("點擊了ok按鈕")

    @QtCore.pyqtSlot()
    def on_cancelButton_clicked(self):
        print("點擊了cancel按鈕")

if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = AutoSignalSlot()
    main.show()

    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM