PyQt的Signal / SLOT不同的类

时间:2010-08-15 05:01:48

标签: python pyqt signals slot

我可以连接两个不同类的对象吗?

让我说我想要button1的clicked()信号来清除line2

class A(QGroupBox):
    def __init__(self, parent=None):
        super(A, self).__init__(parent)
        self.button1= QPushButton('bt1')
        self.button1.show()

class B(QGroupBox):
    def __init__(self, parent=None):
        super(B, self).__init__(parent)
        self.line2 = QLineEdit()
        self.line2.show()

ob1 = A()
ob2 = B()

1 个答案:

答案 0 :(得分:3)

是的,在对象B中创建一个与对象A中的信号绑定的方法。注意如何调用connect(这只是一个例子):

    self.connect(self.okButton, QtCore.SIGNAL("clicked()"),
                 self, QtCore.SLOT("accept()"))

第三个参数是带有插槽的对象,第四个参数是插槽名称。发送和接收对象肯定是不同的。