2.1 QObject基类使用教程-- QObject对象名称设置和属性

一、 QObject对象名称设置和属性

1.基础知识

  • 创建对象:obj=QObject()
  • 设置名称:obj.setObjectName('name')
  • 设置属性和值:obj.setProperty('level1','第一')
  • 获取名称或属性值(去除set):print(obj.objectName()),print(obj.property('level1'))
  • 获取所有setProperty()设置属性的对象和属性名称:print(obj.dynamicPropertyNames())

2.代码

''
        obj = QObject()
        obj.setObjectName('name')  # 设置一个唯一名称
        print(obj.objectName())

        obj.setProperty('level1','第一')  # 给对象添加一个属性和值  用在QSS里
        obj.setProperty('level2','第二')
        print(obj.property('level2'))

        print(obj.dynamicPropertyNames())   # 获取所有setProperty()设置属性的对象和属性名称
'''


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'))  #去除set就是获取level1对应的值
        print(obj1.dynamicPropertyNames()) #获取所有setProperty()设置属性的对象和属性名称  用的比较少


if __name__ == '__main__' :
    app = QApplication(sys.argv)
    window = Window()
    # print(window.windowTitle())

    window.show()
    sys.exit(app.exec_())

3.运行结果

  • 窗口

  • 控制台

posted @ 2022-03-22 18:42  Trouvaille_fighting  阅读(528)  评论(0)    收藏  举报