The Property function lets you declare properties that behave both as Qt and Python properties, and have their setters and getters defined as Python functions.
Here is an example that illustrates how to use this function:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
from PySide2.QtCore import QObject, Property class MyObject(QObject): def __init__(self,startval=42): QObject.__init__(self) self.ppval = startval def readPP(self): return self.ppval def setPP(self,val): self.ppval = val pp = Property(int, readPP, setPP) obj = MyObject() obj.pp = 47 print(obj.pp)
Properties in QML expressions¶
If you are using properties of your objects in QML expressions, QML requires that the property changes are notified. Here is an example illustrating how to do this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from PySide2.QtCore import QObject, Signal, Property class Person(QObject): def __init__(self, name): QObject.__init__(self) self._person_name = name def _name(self): return self._person_name @Signal def name_changed(self): pass name = Property(str, _name, notify=name_changed)
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.