aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/usingmodel
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/usingmodel')
-rw-r--r--examples/declarative/usingmodel/doc/usingmodel.pngbin2791 -> 0 bytes
-rw-r--r--examples/declarative/usingmodel/doc/usingmodel.rst9
-rw-r--r--examples/declarative/usingmodel/usingmodel.py108
-rw-r--r--examples/declarative/usingmodel/usingmodel.pyproject3
-rw-r--r--examples/declarative/usingmodel/view.qml66
5 files changed, 0 insertions, 186 deletions
diff --git a/examples/declarative/usingmodel/doc/usingmodel.png b/examples/declarative/usingmodel/doc/usingmodel.png
deleted file mode 100644
index b4240951b..000000000
--- a/examples/declarative/usingmodel/doc/usingmodel.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/usingmodel/doc/usingmodel.rst b/examples/declarative/usingmodel/doc/usingmodel.rst
deleted file mode 100644
index 11b476d09..000000000
--- a/examples/declarative/usingmodel/doc/usingmodel.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Using Model Example
-===================
-
-A Python application that demonstrates how to use a :ref:`QAbstractListModel`
-with QML.
-
-.. image:: usingmodel.png
- :width: 400
- :alt: Using Model Screenshot
diff --git a/examples/declarative/usingmodel/usingmodel.py b/examples/declarative/usingmodel/usingmodel.py
deleted file mode 100644
index 3d5a03964..000000000
--- a/examples/declarative/usingmodel/usingmodel.py
+++ /dev/null
@@ -1,108 +0,0 @@
-
-#############################################################################
-##
-## Copyright (C) 2021 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the Qt for Python examples of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:BSD$
-## You may use this file under the terms of the BSD license as follows:
-##
-## "Redistribution and use in source and binary forms, with or without
-## modification, are permitted provided that the following conditions are
-## met:
-## * Redistributions of source code must retain the above copyright
-## notice, this list of conditions and the following disclaimer.
-## * Redistributions in binary form must reproduce the above copyright
-## notice, this list of conditions and the following disclaimer in
-## the documentation and/or other materials provided with the
-## distribution.
-## * Neither the name of The Qt Company Ltd nor the names of its
-## contributors may be used to endorse or promote products derived
-## from this software without specific prior written permission.
-##
-##
-## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-import os
-from pathlib import Path
-import sys
-from PySide6.QtCore import QAbstractListModel, Qt, QUrl, QByteArray
-from PySide6.QtGui import QGuiApplication
-from PySide6.QtQuick import QQuickView
-from PySide6.QtQml import qmlRegisterSingletonType
-
-
-class PersonModel (QAbstractListModel):
- MyRole = Qt.UserRole + 1
-
- def __init__(self, parent=None):
- QAbstractListModel.__init__(self, parent)
- self._data = []
-
- def roleNames(self):
- roles = {
- PersonModel.MyRole: QByteArray(b'modelData'),
- Qt.DisplayRole: QByteArray(b'display')
- }
- return roles
-
- def rowCount(self, index):
- return len(self._data)
-
- def data(self, index, role):
- d = self._data[index.row()]
-
- if role == Qt.DisplayRole:
- return d['name']
- elif role == Qt.DecorationRole:
- return Qt.black
- elif role == PersonModel.MyRole:
- return d['myrole']
- return None
-
- def populate(self, data=None):
- for item in data:
- self._data.append(item)
-
-
-def model_callback(engine):
- my_model = PersonModel()
- data = [{'name': 'Qt', 'myrole': 'role1'},
- {'name': 'PySide', 'myrole': 'role2'}]
- my_model.populate(data)
- return my_model
-
-
-if __name__ == '__main__':
- app = QGuiApplication(sys.argv)
- view = QQuickView()
- view.setResizeMode(QQuickView.SizeRootObjectToView)
-
- qmlRegisterSingletonType(PersonModel, "PersonModel", 1, 0, "MyModel", model_callback)
- qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml')
- view.setSource(QUrl.fromLocalFile(qml_file))
- if view.status() == QQuickView.Error:
- sys.exit(-1)
- view.show()
-
- r = app.exec()
- # Deleting the view before it goes out of scope is required to make sure all child QML instances
- # are destroyed in the correct order.
- del view
- sys.exit(r)
diff --git a/examples/declarative/usingmodel/usingmodel.pyproject b/examples/declarative/usingmodel/usingmodel.pyproject
deleted file mode 100644
index 600cdb409..000000000
--- a/examples/declarative/usingmodel/usingmodel.pyproject
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "files": ["view.qml", "usingmodel.py"]
-}
diff --git a/examples/declarative/usingmodel/view.qml b/examples/declarative/usingmodel/view.qml
deleted file mode 100644
index 4e1368e34..000000000
--- a/examples/declarative/usingmodel/view.qml
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt for Python examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick
-import PersonModel
-
-ListView {
- width: 100
- height: 100
- anchors.fill: parent
- model: MyModel
- delegate: Component {
- Rectangle {
- height: 25
- width: 100
- Text {
- function displayText() {
- var result = ""
- if (typeof display !== "undefined")
- result = display + ": "
- result += modelData
- return result
- }
-
- text: displayText()
- }
- }
- }
-}