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

