PyQt的信号/槽跨类使用
我可以把两个不同类的对象连接起来吗?
比如说,我想让按钮1被点击时,能够清空行2。
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 个回答
3
没错,你可以在对象B里面创建一个方法,这个方法和对象A里的一个信号连接起来。注意一下connect
是怎么调用的(这只是一个例子):
self.connect(self.okButton, QtCore.SIGNAL("clicked()"),
self, QtCore.SLOT("accept()"))
这里的第三个参数是包含槽(slot)的方法的对象,第四个参数是槽的名字。发送信号的对象和接收信号的对象可以是不同的。