diff options
Diffstat (limited to 'examples/declarative/referenceexamples/properties')
6 files changed, 0 insertions, 221 deletions
diff --git a/examples/declarative/referenceexamples/properties/birthdayparty.py b/examples/declarative/referenceexamples/properties/birthdayparty.py deleted file mode 100644 index 1a115101b..000000000 --- a/examples/declarative/referenceexamples/properties/birthdayparty.py +++ /dev/null @@ -1,41 +0,0 @@ -# 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.QtQml import QmlElement, ListProperty - -from person import Person - - -# To be used on the @QmlElement decorator -# (QML_IMPORT_MINOR_VERSION is optional) -QML_IMPORT_NAME = "examples.properties.people" -QML_IMPORT_MAJOR_VERSION = 1 - - -@QmlElement -class BirthdayParty(QObject): - - def __init__(self, parent=None): - super().__init__(parent) - self._host = None - self._guests = [] - - @Property(Person) - def host(self): - return self._host - - @host.setter - def host(self, h): - self._host = h - - def guest(self, n): - return self._guests[n] - - def guestCount(self): - return len(self._guests) - - def appendGuest(self, guest): - self._guests.append(guest) - - guests = ListProperty(Person, appendGuest) diff --git a/examples/declarative/referenceexamples/properties/doc/properties.rst b/examples/declarative/referenceexamples/properties/doc/properties.rst deleted file mode 100644 index 909434c3c..000000000 --- a/examples/declarative/referenceexamples/properties/doc/properties.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. _qml-object-and-list-property-types-example: - -Extending QML - Object and List Property Types Example -====================================================== - -Exporting C++ Properties. - -This example builds on :ref:`qml-adding-types-example`. - -The Object and List Property Types example shows how to add object and list -properties in QML. This example adds a BirthdayParty type that specifies a -birthday party, consisting of a celebrant and a list of guests. People are -specified using the People QML type built in the previous example. - -import examples.properties.people - -.. code-block:: javascript - - BirthdayParty { - host: Person { - name: "Bob Jones" - shoe_size: 12 - } - guests: [ - Person { name: "Leo Hodges" }, - Person { name: "Jack Smith" }, - Person { name: "Anne Brown" } - ] - } - -Declare the BirthdayParty -------------------------- - -The BirthdayParty class is declared like this: - -.. code-block:: python - - from person import Person - - - # To be used on the @QmlElement decorator - # (QML_IMPORT_MINOR_VERSION is optional) - QML_IMPORT_NAME = "examples.properties.people" - QML_IMPORT_MAJOR_VERSION = 1 - - - @QmlElement - class BirthdayParty(QObject): - - def __init__(self, parent=None): - super().__init__(parent) - self._host = None - self._guests = [] - - @Property(Person) - def host(self): - return self._host - - @host.setter - def host(self, h): - self._host = h - - def guest(self, n): - return self._guests[n] - - def guestCount(self): - return len(self._guests) - - def appendGuest(self, guest): - self._guests.append(guest) - - guests = ListProperty(Person, appendGuest) - -The class contains a member to store the celebrant object, and also a -list member storing the Person instances. - -In QML, the type of a list properties - and the guests property is a list of -people - are all of type ListProperty. ListProperty is simple value -type that contains a set of functions. QML calls these functions -whenever it needs to read from, write to or otherwise interact with -the list. In addition to concrete lists like the people list used in this -example, the use of QQmlListProperty allows for "virtual lists" and other advanced -scenarios. - -Running the Example -------------------- - -The main.py file in the example includes a simple shell application that -loads and runs the QML snippet shown at the beginning of this page. diff --git a/examples/declarative/referenceexamples/properties/example.qml b/examples/declarative/referenceexamples/properties/example.qml deleted file mode 100644 index 1486a0f92..000000000 --- a/examples/declarative/referenceexamples/properties/example.qml +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import examples.properties.people - -BirthdayParty { - host: Person { - name: "Bob Jones" - shoe_size: 12 - } - guests: [ - Person { name: "Leo Hodges" }, - Person { name: "Jack Smith" }, - Person { name: "Anne Brown" } - ] -} diff --git a/examples/declarative/referenceexamples/properties/main.py b/examples/declarative/referenceexamples/properties/main.py deleted file mode 100644 index a980b25aa..000000000 --- a/examples/declarative/referenceexamples/properties/main.py +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -"""PySide6 port of the qml/examples/qml/referenceexamples/properties example from Qt v6.x""" - -from pathlib import Path -import sys - -from PySide6.QtCore import QCoreApplication, QUrl -from PySide6.QtQml import QQmlComponent, QQmlEngine - -from person import Person -from birthdayparty import BirthdayParty - - -if __name__ == '__main__': - app = QCoreApplication(sys.argv) - - qml_file = Path(__file__).parent / "example.qml" - url = QUrl.fromLocalFile(qml_file) - engine = QQmlEngine() - component = QQmlComponent(engine, url) - - party = component.create() - if party: - print(f"{party.host} is having a birthday!\nThey are inviting:") - for g in range(party.guestCount()): - name = party.guest(g).name - print(f" {name}") - else: - print(component.errors()) - - del engine - sys.exit(0) diff --git a/examples/declarative/referenceexamples/properties/person.py b/examples/declarative/referenceexamples/properties/person.py deleted file mode 100644 index 4cc54260a..000000000 --- a/examples/declarative/referenceexamples/properties/person.py +++ /dev/null @@ -1,35 +0,0 @@ -# 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.QtQml import QmlElement - -# To be used on the @QmlElement decorator -# (QML_IMPORT_MINOR_VERSION is optional) -QML_IMPORT_NAME = "examples.properties.people" -QML_IMPORT_MAJOR_VERSION = 1 - - -@QmlElement -class Person(QObject): - def __init__(self, parent=None): - super().__init__(parent) - self._name = '' - self._shoe_size = 0 - - @Property(str) - def name(self): - return self._name - - @name.setter - def name(self, n): - self._name = n - - @Property(int) - def shoe_size(self): - return self._shoe_size - - @shoe_size.setter - def shoe_size(self, s): - self._shoe_size = s - diff --git a/examples/declarative/referenceexamples/properties/properties.pyproject b/examples/declarative/referenceexamples/properties/properties.pyproject deleted file mode 100644 index 0f5958fc3..000000000 --- a/examples/declarative/referenceexamples/properties/properties.pyproject +++ /dev/null @@ -1,6 +0,0 @@ -{ - "files": ["example.qml", - "main.py", - "person.py", - "birthdayparty.py"] -} |