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.运行结果
-
窗口

-
控制台


浙公网安备 33010602011771号