diff options
Diffstat (limited to 'examples/declarative/signals')
18 files changed, 0 insertions, 530 deletions
diff --git a/examples/declarative/signals/pytoqml1/main.py b/examples/declarative/signals/pytoqml1/main.py deleted file mode 100644 index 5bc27a521..000000000 --- a/examples/declarative/signals/pytoqml1/main.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QTimer, QUrl -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - - timer = QTimer() - timer.start(2000) - - view = QQuickView() - qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') - view.setSource(QUrl.fromLocalFile(qml_file)) - if view.status() == QQuickView.Error: - sys.exit(-1) - root = view.rootObject() - - timer.timeout.connect(root.updateRotater) - - view.show() - res = 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(res) diff --git a/examples/declarative/signals/pytoqml1/pytoqml1.pyproject b/examples/declarative/signals/pytoqml1/pytoqml1.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/pytoqml1/pytoqml1.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/pytoqml1/view.qml b/examples/declarative/signals/pytoqml1/view.qml deleted file mode 100644 index af2d966be..000000000 --- a/examples/declarative/signals/pytoqml1/view.qml +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import QtQuick - -Rectangle { - id: page - - function updateRotater() { - rotater.angle = rotater.angle + 45 - } - - width: 500; height: 200 - color: "lightgray" - - Rectangle { - id: rotater - property real angle : 0 - x: 240 - width: 100; height: 10 - color: "black" - y: 95 - - transform: Rotation { - origin.x: 10; origin.y: 5 - angle: rotater.angle - Behavior on angle { - SpringAnimation { - spring: 1.4 - damping: .05 - } - } - } - } - -} diff --git a/examples/declarative/signals/pytoqml2/main.py b/examples/declarative/signals/pytoqml2/main.py deleted file mode 100644 index 3a3650aba..000000000 --- a/examples/declarative/signals/pytoqml2/main.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QObject, QTimer, QUrl, Signal, Slot -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView -from PySide6.QtQml import QmlElement - - -# To be used on the @QmlElement decorator -# (QML_IMPORT_MINOR_VERSION is optional) -QML_IMPORT_NAME = "examples.signals.pytoqml2" -QML_IMPORT_MAJOR_VERSION = 1 - - -@QmlElement -class RotateValue(QObject): - valueChanged = Signal(int, arguments=['val']) - - def __init__(self): - super().__init__() - self.r = 0 - - @Slot() - def increment(self): - self.r = self.r + 10 - self.valueChanged.emit(self.r) - - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - view = QQuickView() - - rotatevalue = RotateValue() - timer = QTimer() - timer.start(2000) - view.setInitialProperties({"rotatevalue": rotatevalue}) - - qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') - view.setSource(QUrl.fromLocalFile(qml_file)) - if view.status() == QQuickView.Error: - sys.exit(-1) - - timer.timeout.connect(rotatevalue.increment) - - view.show() - res = 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(res) diff --git a/examples/declarative/signals/pytoqml2/pytoqml2.pyproject b/examples/declarative/signals/pytoqml2/pytoqml2.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/pytoqml2/pytoqml2.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/pytoqml2/view.qml b/examples/declarative/signals/pytoqml2/view.qml deleted file mode 100644 index 2e9128f53..000000000 --- a/examples/declarative/signals/pytoqml2/view.qml +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import QtQuick -import QtQml - -import examples.signals.pytoqml2 1.0 - -Rectangle { - id: page - - width: 500; height: 200 - color: "lightgray" - required property RotateValue rotatevalue - - Text { - id: helloText - text: "Hello world!" - anchors.horizontalCenter: page.horizontalCenter - y: 30 - font.pointSize: 24; font.bold: true - } - - Connections { - target: rotatevalue - function onValueChanged(val) { - helloText.rotation = val - } - } -} diff --git a/examples/declarative/signals/qmltopy1/main.py b/examples/declarative/signals/qmltopy1/main.py deleted file mode 100644 index 83966903c..000000000 --- a/examples/declarative/signals/qmltopy1/main.py +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QObject, QUrl, Slot -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView -from PySide6.QtQml import QmlElement - - -# To be used on the @QmlElement decorator -# (QML_IMPORT_MINOR_VERSION is optional) -QML_IMPORT_NAME = "examples.signals.qmltopy1" -QML_IMPORT_MAJOR_VERSION = 1 - - -@QmlElement -class Console(QObject): - """Output stuff on the console.""" - - @Slot(str) - @Slot('double') - def output(self, s): - print(s) - - @Slot(str) - def outputStr(self, s): - print(s) - - @Slot('double') - def outputFloat(self, x): - print(x) - - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - view = QQuickView() - - 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() - res = 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(res) diff --git a/examples/declarative/signals/qmltopy1/qmltopy1.pyproject b/examples/declarative/signals/qmltopy1/qmltopy1.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/qmltopy1/qmltopy1.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/qmltopy1/view.qml b/examples/declarative/signals/qmltopy1/view.qml deleted file mode 100644 index b10e2e77d..000000000 --- a/examples/declarative/signals/qmltopy1/view.qml +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - - -import QtQuick - -import examples.signals.qmltopy1 1.0 - -Rectangle { - id: page - - width: 500; height: 200 - color: "lightgray" - - Console { - id: pyConsole - } - - Text { - id: helloText - text: "Hello world!" - anchors.horizontalCenter: page.horizontalCenter - y: 30 - font.pointSize: 24; font.bold: true - } - - Rectangle { - id: button - width: 150; height: 40 - color: "darkgray" - anchors.horizontalCenter: page.horizontalCenter - y: 120 - MouseArea { - id: buttonMouseArea - objectName: "buttonMouseArea" - anchors.fill: parent - onClicked: { - // once the "console" context has been declared, - // slots can be called like functions - pyConsole.outputFloat(123) - pyConsole.outputStr("foobar") - pyConsole.output(helloText.x) - pyConsole.output(helloText.text) - } - } - Text { - id: buttonText - text: "Press me!" - anchors.horizontalCenter: button.horizontalCenter - anchors.verticalCenter: button.verticalCenter - font.pointSize: 16 - } - } -} diff --git a/examples/declarative/signals/qmltopy2/main.py b/examples/declarative/signals/qmltopy2/main.py deleted file mode 100644 index bc2e8d3ed..000000000 --- a/examples/declarative/signals/qmltopy2/main.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QObject, QUrl, Slot -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView -from PySide6.QtQml import QmlElement - -# To be used on the @QmlElement decorator -# (QML_IMPORT_MINOR_VERSION is optional) -QML_IMPORT_NAME = "examples.signals.qmltopy2" -QML_IMPORT_MAJOR_VERSION = 1 - - -@QmlElement -class RotateValue(QObject): - def __init__(self): - super().__init__() - self.r = 0 - - # If a slot returns a value, the return value type must be explicitly - # defined in the decorator. - @Slot(result=int) - def val(self): - self.r = self.r + 10 - return self.r - - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - view = QQuickView() - - 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() - res = 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(res) diff --git a/examples/declarative/signals/qmltopy2/qmltopy2.pyproject b/examples/declarative/signals/qmltopy2/qmltopy2.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/qmltopy2/qmltopy2.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/qmltopy2/view.qml b/examples/declarative/signals/qmltopy2/view.qml deleted file mode 100644 index 4bbda574c..000000000 --- a/examples/declarative/signals/qmltopy2/view.qml +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import QtQuick - -import examples.signals.qmltopy2 1.0 - -Rectangle { - id: page - - width: 500; height: 200 - color: "lightgray" - - RotateValue { - id: rotatevalue - } - - Text { - id: helloText - text: "Hello world!" - anchors.horizontalCenter: page.horizontalCenter - y: 30 - font.pointSize: 24; font.bold: true - } - - - Rectangle { - id: button - width: 150; height: 40 - color: "darkgray" - anchors.horizontalCenter: page.horizontalCenter - y: 120 - MouseArea { - id: buttonMouseArea - objectName: "buttonMouseArea" - anchors.fill: parent - onClicked: { - helloText.rotation = rotatevalue.val() - } - } - Text { - id: buttonText - text: "Press me!" - anchors.horizontalCenter: button.horizontalCenter - anchors.verticalCenter: button.verticalCenter - font.pointSize: 16 - } - } -} diff --git a/examples/declarative/signals/qmltopy3/main.py b/examples/declarative/signals/qmltopy3/main.py deleted file mode 100644 index 6a5554842..000000000 --- a/examples/declarative/signals/qmltopy3/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QUrl -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView - - -def sayThis(s): - print(s) - - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - view = QQuickView() - qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') - view.setSource(QUrl.fromLocalFile(qml_file)) - if view.status() == QQuickView.Error: - sys.exit(-1) - - root = view.rootObject() - root.textRotationChanged.connect(sayThis) - root.buttonClicked.connect(lambda: sayThis("clicked button (QML top-level signal)")) - - view.show() - res = 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(res) diff --git a/examples/declarative/signals/qmltopy3/qmltopy3.pyproject b/examples/declarative/signals/qmltopy3/qmltopy3.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/qmltopy3/qmltopy3.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/qmltopy3/view.qml b/examples/declarative/signals/qmltopy3/view.qml deleted file mode 100644 index 3e8a0f564..000000000 --- a/examples/declarative/signals/qmltopy3/view.qml +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import QtQuick - -Rectangle { - id: page - - signal buttonClicked - signal textRotationChanged(double rot) - - width: 500; height: 200 - color: "lightgray" - - Text { - id: helloText - text: "Hello world!" - y: 30 - x: page.width/2-width/2 - font.pointSize: 24; font.bold: true - onRotationChanged: textRotationChanged(rotation) - - states: State { - name: "down"; when: buttonMouseArea.pressed === true - PropertyChanges { - target: helloText; - rotation: 180; - y: 100; - } - } - - transitions: Transition { - from: ""; to: "down"; reversible: true - ParallelAnimation { - NumberAnimation { - properties: "y,rotation" - duration: 500 - easing.type: Easing.InOutQuad - } - } - } - } - - Rectangle { - id: button - width: 150; height: 40 - color: "darkgray" - anchors.horizontalCenter: page.horizontalCenter - y: 120 - MouseArea { - id: buttonMouseArea - objectName: "buttonMouseArea" - anchors.fill: parent - onClicked: { - buttonClicked() - } - } - Text { - id: buttonText - text: "Press me!" - anchors.horizontalCenter: button.horizontalCenter - anchors.verticalCenter: button.verticalCenter - font.pointSize: 16 - } - } -} diff --git a/examples/declarative/signals/qmltopy4/main.py b/examples/declarative/signals/qmltopy4/main.py deleted file mode 100644 index 8a56073d1..000000000 --- a/examples/declarative/signals/qmltopy4/main.py +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import os -from pathlib import Path -import sys -from PySide6.QtCore import QObject, QUrl -from PySide6.QtGui import QGuiApplication -from PySide6.QtQuick import QQuickView - - -def sayThis(s): - print(s) - - -if __name__ == '__main__': - app = QGuiApplication(sys.argv) - view = QQuickView() - qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') - view.setSource(QUrl.fromLocalFile(qml_file)) - if view.status() == QQuickView.Error: - sys.exit(-1) - - root = view.rootObject() - button = root.findChild(QObject, "buttonMouseArea") - button.clicked.connect(lambda: sayThis("clicked button (signal directly connected)")) - - view.show() - res = 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(res) diff --git a/examples/declarative/signals/qmltopy4/qmltopy4.pyproject b/examples/declarative/signals/qmltopy4/qmltopy4.pyproject deleted file mode 100644 index e6f087cce..000000000 --- a/examples/declarative/signals/qmltopy4/qmltopy4.pyproject +++ /dev/null @@ -1,3 +0,0 @@ -{ - "files": ["main.py", "view.qml"] -} diff --git a/examples/declarative/signals/qmltopy4/view.qml b/examples/declarative/signals/qmltopy4/view.qml deleted file mode 100644 index 771b14c47..000000000 --- a/examples/declarative/signals/qmltopy4/view.qml +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -import QtQuick - -Rectangle { - id: page - - width: 500; height: 200 - color: "lightgray" - - Rectangle { - id: button - width: 150; height: 40 - color: "darkgray" - anchors.horizontalCenter: page.horizontalCenter - anchors.verticalCenter: page.verticalCenter - MouseArea { - id: buttonMouseArea - objectName: "buttonMouseArea" - anchors.fill: parent - } - Text { - id: buttonText - text: "Press me!" - anchors.horizontalCenter: button.horizontalCenter - anchors.verticalCenter: button.verticalCenter - font.pointSize: 16 - } - } -} |