PyQt5-QObject基础方法

QObject对象名称设置和属性

obj.setObjectName(arg) #设置唯一的名称

obj.objectName() #获取名称

obj.setProperty(key,value) #给对象添加属性和值

obj.property(key) #获取对象中对应key的值

obj.dynamicPropertyName() #获取所有设置属性的对象和属性名称

from PyQt5.Qt import *
obj = QObject()
obj.setObjectName('name')  # 设置一个唯一名称
print(obj.objectName())
 
obj.setProperty('level1','第一')  # 给对象添加一个属性和值
obj.setProperty('level2','第二')
print(obj.property('level2'))
 
print(obj.dynamicPropertyNames())   # 获取所有setProperty()设置属性的对象和属性名称

 

QObject-对象父类、子类设置和查找

obj.setParent(obj) #设置父对象

obj.parent() #获取父对象

obj.children() #获取子对象

obj.findChild(QObject) #获取直接子QObject对象,参数类型可变

obj.findChildren(QObject) #获取所有的子QObject对象,参数类型可变

from PyQt5.Qt import *

obj1 =QObject()
obj2 =QObject()
obj3 =QObject()
obj1.setParent(obj2)  # 设置父对象
obj3.setParent(obj1)  #
print(obj1.parent())  # 获取父对象
print(obj2.children())
print(obj2.findChild(QObject))   # 获取直接的子对象
print(obj2.findChildren(QObject))   # 获取所有的子对象

 

QObject-对象删除

ogj.deleteLater()  # 在代码执行完之后删除对象

 

QObject定时器

from PyQt5.Qt import *
import sys
 
class Obj(QObject):
    def timerEvent(self, QTimerEvent):
        print(QTimerEvent,2)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = QWidget()
    obj =Obj()
    timer_id = obj.startTimer(1000)
    # obj.killTimer(timer_id)
    window.show()
    sys.exit(app.exec_())

 

posted @ 2022-01-14 11:48  SiNanhong  阅读(295)  评论(0编辑  收藏  举报