这个博客是自己在使用pyqt4过程中,解决具体的总结,仅供个人备忘。
不同类之间信号与槽的对应,需要三个步骤:
1)在类A里定义发射信号,使用emit()方法,发射信号A_signal();
2)在类B里定义槽函数B_slot();
3)在主函数main()里,使用类A、B分别实例化两个对象a、b。
然后使用connect(a, QtCore.SIGNAL('A_signal()'), b.B_slot)
下面是一个例子
程序描述:定义了一个按钮和一个显示部件,通过点击按钮控制显示部件进行显示。
所给出的代码不完整。
首先是按钮代码:
class Buttontest(QtGui.QWidget):
def __init__(self):
super(Buttontest, self).__init__()
self.initUI()
def initUI(self):
self.buttont = QtGui.QPushButton('Start', self)
self.connect(self.buttont, QtCore.SIGNAL('clicked()'), self.totestbutton)
def totestbutton(self):
self.emit(QtCore.SIGNAL('buttontest()'))
然后是显示部件: