一、学习指导
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()所设置的属性名称。