PyQT5信号与槽的连接

方法一:

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys


class AutoSignalSlot(QWidget):

    def __init__(self):
        super().__init__()
        self.setWindowTitle("信号与槽自动连接")
        self.resize(300, 100)

        self.okButton = QPushButton("OK", self)     # 将btn绑定到窗口
        self.okButton.setObjectName('okButton')

        layout = QHBoxLayout()
        layout.addWidget(self.okButton)
        self.setLayout(layout)
        
        # 方法一
        self.okButton.clicked.connect(self.on_okButton_clicked)

    def on_okButton_clicked(self):
        print("点击了OK按钮!")


if __name__ == '__main__':

    app = QApplication(sys.argv)
    main_win = AutoSignalSlot()
    main_win.show()
    sys.exit(app.exec_())

方法二:
信号与槽自动连接
on_objectname_signalname
例如:on_okButton_clicked

from PyQt5.QtCore import *
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
import sys


class AutoSignalSlot(QWidget):

    def __init__(self):
        super().__init__()
        self.setWindowTitle("信号与槽自动连接")
        self.resize(300, 100)

        self.okButton = QPushButton("OK", self)     # 将btn绑定到窗口
        self.okButton.setObjectName('okButton')

        self.cancelButton = QPushButton("Cancel", self)     # 将btn绑定到窗口
        self.cancelButton.setObjectName('cancelButton')

        layout = QHBoxLayout()
        layout.addWidget(self.okButton)
        self.setLayout(layout)

        # 方法一
        # self.okButton.clicked.connect(self.on_okButton_clicked)
        # 方法二
        QMetaObject.connectSlotsByName(self)

    @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_win = AutoSignalSlot()
    main_win.show()
    sys.exit(app.exec_())



posted @   星空28  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示