PyQt6每日一练,第五天,QObject信号与槽操作(23课)
def QObject信号与槽操作(self):
self.obj = QObject()
# def destroy_cao(obj):
# print("对象被释放了", obj)
# self.obj.destroyed.connect(destroy_cao)
def obj_name_cao(name):
print("对象名称发生了改变", name)
def obj_name_cao2(name):
print("对象名称发生了改变2", name)
self.obj.objectNameChanged.connect(obj_name_cao)
self.obj.setObjectName("xxx")
self.obj.objectNameChanged.connect(obj_name_cao2)
print(self.obj.receivers(self.obj.objectNameChanged))
print(self.obj.signalsBlocked(),"1")
self.obj.blockSignals(True)
print(self.obj.signalsBlocked(),"2")
# self.obj.objectNameChanged.disconnect()
self.obj.setObjectName("ooo")
self.obj.blockSignals(False)
print(self.obj.signalsBlocked(),"3")
self.obj.setObjectName("XXOO")
运行结果:
对象名称发生了改变 xxx
2
False 1
True 2
False 3
对象名称发生了改变 XXOO
对象名称发生了改变2 XXOO


