根据教程我自己的理解就是,在PyQt5中,只要是它对象下面的方法就可以使用connect连接自己创建的cao方法实现相关功能。
from PyQt5.Qt import * class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("创建一个封装类") self.resize(500, 500) self.set_ui() def set_ui(self): self.QObj_xinhao()#QObiect信号的操作 def QObj_xinhao(self): self.obj=QObject() # obj.destroyed 释放对象 # obj.objectNameChanged 对象名称发生了改变 # def destroy_cao(): # print("这个对象被释放了") # self.obj.destroyed.connect(destroy_cao) # del self.obj def obj_name_cao(): print("对象名称发生了改变") self.obj.objectNameChanged.connect(obj_name_cao) self.obj.setObjectName("xm")#改变对象名称 if __name__ == ‘__main__‘: import sys app=QApplication(sys.argv) window=Window() window.show() sys.exit(app.exec_())
Window()方法继承QWidget。在set_ui中就可以用self. 调用QWidget的各个对象。调用了QObject。
self.obj.objectNameChanged.connect(obj_name_cao)在obj这个对象中使用objectNameChanged方法,连接obj_name_cao方法返回相关打印信息。
原文:https://www.cnblogs.com/birdmmxx/p/12664564.html