aboutsummaryrefslogtreecommitdiffstats
path: root/examples/remoteobjects/modelview/modelviewserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/remoteobjects/modelview/modelviewserver.py')
-rw-r--r--examples/remoteobjects/modelview/modelviewserver.py87
1 files changed, 25 insertions, 62 deletions
diff --git a/examples/remoteobjects/modelview/modelviewserver.py b/examples/remoteobjects/modelview/modelviewserver.py
index 069cc1d2c..0e213fb57 100644
--- a/examples/remoteobjects/modelview/modelviewserver.py
+++ b/examples/remoteobjects/modelview/modelviewserver.py
@@ -1,57 +1,20 @@
-#############################################################################
-##
-## Copyright (C) 2017 Ford Motor Company
-## Copyright (C) 2019 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$
-##
-#############################################################################
-
-"""PySide2 port of the remoteobjects/modelviewserver example from Qt v5.x"""
+# Copyright (C) 2017 Ford Motor Company
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+"""PySide6 port of the remoteobjects/modelviewserver example from Qt v5.x"""
import sys
-from PySide2.QtCore import (Qt, QByteArray, QModelIndex, QObject, QTimer, QUrl)
-from PySide2.QtGui import (QColor, QStandardItemModel, QStandardItem)
-from PySide2.QtWidgets import (QApplication, QTreeView)
-from PySide2.QtRemoteObjects import (QRemoteObjectHost, QRemoteObjectNode,
- QRemoteObjectRegistryHost)
+from PySide6.QtCore import (Qt, QByteArray, QModelIndex, QObject, QTimer, QUrl)
+from PySide6.QtGui import (QColor, QStandardItemModel, QStandardItem)
+from PySide6.QtWidgets import (QApplication, QTreeView)
+from PySide6.QtRemoteObjects import QRemoteObjectHost, QRemoteObjectRegistryHost
+
class TimerHandler(QObject):
def __init__(self, model):
- super(TimerHandler, self).__init__()
+ super().__init__()
self._model = model
def change_data(self):
@@ -60,7 +23,7 @@ class TimerHandler(QObject):
QColor(Qt.blue), Qt.BackgroundRole)
def insert_data(self):
- self._model.insertRows(2, 9);
+ self._model.insertRows(2, 9)
for i in range(2, 11):
self._model.setData(self._model.index(i, 1),
QColor(Qt.green), Qt.BackgroundRole)
@@ -83,38 +46,38 @@ class TimerHandler(QObject):
def add_child(num_children, nesting_level):
result = []
if nesting_level == 0:
- return result;
+ return result
for i in range(num_children):
- child = QStandardItem("Child num {}, nesting Level {}".format(i + 1,
- nesting_level))
+ child = QStandardItem(f"Child num {i + 1}, nesting Level {nesting_level}")
if i == 0:
- child.appendRow(add_child(num_children, nesting_level -1))
+ child.appendRow(add_child(num_children, nesting_level - 1))
result.append(child)
- return result;
+ return result
+
if __name__ == '__main__':
app = QApplication(sys.argv)
- model_size = 100000;
- list = []
+ model_size = 100000
+ data_list = []
source_model = QStandardItemModel()
horizontal_header_list = ["First Column with spacing",
"Second Column with spacing"]
source_model.setHorizontalHeaderLabels(horizontal_header_list)
for i in range(model_size):
- first_item = QStandardItem("FancyTextNumber {}".format(i))
+ first_item = QStandardItem(f"FancyTextNumber {i}")
if i == 0:
first_item.appendRow(add_child(2, 2))
- second_item = QStandardItem("FancyRow2TextNumber {}".format(i))
+ second_item = QStandardItem(f"FancyRow2TextNumber {i}")
if i % 2 == 0:
first_item.setBackground(Qt.red)
row = [first_item, second_item]
source_model.invisibleRootItem().appendRow(row)
- list.append("FancyTextNumber {}".format(i))
+ data_list.append(f"FancyTextNumber {i}")
# Needed by QMLModelViewClient
role_names = {
- Qt.DisplayRole : QByteArray(b'_text'),
- Qt.BackgroundRole : QByteArray(b'_color')
+ Qt.DisplayRole: QByteArray(b'_text'),
+ Qt.BackgroundRole: QByteArray(b'_color')
}
source_model.setItemRoleNames(role_names)
@@ -137,4 +100,4 @@ if __name__ == '__main__':
QTimer.singleShot(12000, handler.remove_data)
QTimer.singleShot(13000, handler.move_data)
- sys.exit(app.exec_())
+ sys.exit(app.exec())