QObject属性、值的设置和获取方法
一、学习指导
python程序员一般都了解object这个基类,PyQt5也有自己的基类叫做QObject,几乎所有的其他子类和父类都最终继承自QObject,所以学习QObject
二、代码演示
from PyQt5.Qt import * import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("object对象") self.resize(600,500) self.func_list() def func_list(self): self.func() self.func1() def func(self): obj = QObject() obj.setObjectName('第一个Object对象') print(obj.objectName()) def func1(self): obj1 = QObject() obj1.setProperty('level1', '第一') obj1.setProperty('level2', '第二') print(obj1.property('level1')) print(obj1.dynamicPropertyNames()) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() # print(window.windowTitle()) window.show() sys.exit(app.exec_())
上面代码中第7行我们设置窗口标题,然后是尺寸,16行我们给对象设置了一个对象名称,大家注意这里的名称和上面的标题不是一样的,标题是窗口左上角显示的,这里的名称类似于QObject对象标示符,不是同一回事。到22行我们又给QObject对象设置了一个level属性并给一个对应的属性值。这个方法和上面的对象名称最常用的地方就是后面的QSS中,大家先记住QObject拥有这些功能,我们到后面详细讲解他的使用方法。
最后的dynamicPropertyNames()方法就是获取setProperty()所设置的属性名称。