2.1 QObject基類使用教程-- QObject物件名稱設定和屬性
阿新 • • 發佈:2022-03-22
一、 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.執行結果
-
視窗
-
控制檯