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 @   Trouvaille_fighting  阅读(474)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示

目录导航