1、信号可以通过connect(slot)函数与槽连接。以QObject的两个信号destroyed,objectNameChanged为例:信号:destroyed(p_object=None)对象被销毁时发射此信号:self.obj1 = QObject()def objDes(): print('对象被释放了')self.obj1.destroyed.connect(objDes)del self.obj1
2、destroyed(p_object=None)的参数p_object是向外传递信号时,携带的释放的对象。发送信号时是将释放的对象传递给了槽函数,如果在槽函数内设置参数接收,就能输出:self.obj1 = QObject()def objDes(aa): print('对象被释放了',aa)self.obj1.destroyed.connect(objDes)del self.obj1
3、信号:objectNameChanged(p_str)监听某个对象名字发生改变发出信号。self.obj1 = QObject()def objPrint(): print('名字改变了')self.obj1.objectNameChanged.connect(objPrint)self.obj1.setObjectName('NEW-NAME')
4、objectNameChanged(p_str)的参数p_str,发送信号时携带的字符串,发送信号时是将这个名字传递给了槽函数。如果在槽函数内接收这个参数,就能输出改变的名字。例如:self.obj1 = QObject()def objPrint(a): print('名字改变了',a)self.obj1.objectNameChanged.connect(objPrint)self.obj1.setObjectName('NEW-NAME')例中参数a就是监听的对象名字。