根据教程我自己的理解就是,在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方法返回相关打印信息。