From 2388ac63d3784e59b416f993e123241cfb7f2ffa Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 2 May 2023 16:56:50 +0200 Subject: QML reference examples: Add notify signals and final attribute to properties Task-number: PYSIDE-2206 Task-number: QTBUG-111033 Pick-to: 6.5 Change-Id: I0541a3bbb4e5696962802da7f91ab79682700124 Reviewed-by: Christian Tismer --- .../advanced3-Default-properties/person.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py') diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py b/examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py index 89844c87f..503aaf65e 100644 --- a/examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py +++ b/examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py @@ -1,7 +1,7 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause -from PySide6.QtCore import QObject, Property +from PySide6.QtCore import QObject, Property, Signal from PySide6.QtQml import QmlAnonymous, QmlElement # To be used on the @QmlElement decorator @@ -12,20 +12,25 @@ QML_IMPORT_MAJOR_VERSION = 1 @QmlAnonymous class Person(QObject): + name_changed = Signal() + shoe_size_changed = Signal() + def __init__(self, parent=None): super().__init__(parent) self._name = '' self._shoe_size = 0 - @Property(str) + @Property(str, notify=name_changed, final=True) def name(self): return self._name @name.setter def name(self, n): - self._name = n + if self._name != n: + self._name = n + self.name_changed.emit() - @Property(int) + @Property(int, notify=shoe_size_changed, final=True) def shoe_size(self): return self._shoe_size -- cgit v1.2.3