PyQt5--connect与cao的尝试

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

猜你喜欢

转载自www.cnblogs.com/birdmmxx/p/12664564.html