diff options
Diffstat (limited to 'examples/installer_test/hello.py')
-rw-r--r-- | examples/installer_test/hello.py | 81 |
1 files changed, 24 insertions, 57 deletions
diff --git a/examples/installer_test/hello.py b/examples/installer_test/hello.py index 3aa7a1564..3921b5d51 100644 --- a/examples/installer_test/hello.py +++ b/examples/installer_test/hello.py @@ -1,45 +1,5 @@ -# This Python file uses the following encoding: utf-8 -# It has been edited by fix-complaints.py . - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://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$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause """ hello.py @@ -47,31 +7,34 @@ hello.py This simple script shows a label with changing "Hello World" messages. It can be used directly as a script, but we use it also to automatically -test PyInstaller. See testing/wheel_tester.py . +test PyInstaller or Nuitka. See testing/wheel_tester.py . -When used with PyInstaller, it automatically stops its execution after -2 seconds. +When compiled with Nuitka or used with PyInstaller, it automatically +stops its execution after 2 seconds. """ -from __future__ import print_function import sys import random import platform import time -from PySide2.QtWidgets import (QApplication, QLabel, QPushButton, +from PySide6.QtWidgets import (QApplication, QLabel, QPushButton, QVBoxLayout, QWidget) -from PySide2.QtCore import Slot, Qt, QTimer +from PySide6.QtCore import Slot, Qt, QTimer + +is_compiled = "__compiled__" in globals() # Nuitka +auto_quit = "Nuitka" if is_compiled else "PyInst" + class MyWidget(QWidget): def __init__(self): - QWidget.__init__(self) + super().__init__() self.hello = ["Hallo Welt", "你好,世界", "Hei maailma", - "Hola Mundo", "Привет мир"] + "Hola Mundo", "Привет мир"] self.button = QPushButton("Click me!") - self.text = QLabel("Hello World embedded={}".format(sys.pyside_uses_embedding)) + self.text = QLabel(f"Hello World auto_quit={auto_quit}") self.text.setAlignment(Qt.AlignCenter) self.layout = QVBoxLayout() @@ -86,19 +49,23 @@ class MyWidget(QWidget): def magic(self): self.text.setText(random.choice(self.hello)) + if __name__ == "__main__": - print("Start of hello.py ", time.ctime()) - print(" sys.version = {}".format(sys.version.splitlines()[0])) - print(" platform.platform() = {}".format(platform.platform())) + print("Start of hello.py ", time.ctime()) + print(" sys.version = ", sys.version.splitlines()[0]) + # Nuitka and hence pyside6-deploy fails on Python versions <= 3.9 + # when this module is used + if sys.version_info.minor > 9: + print(" platform.platform() = ", platform.platform()) app = QApplication() widget = MyWidget() widget.resize(800, 600) widget.show() - if sys.pyside_uses_embedding: - milliseconds = 2 * 1000 # run 2 second + if auto_quit: + milliseconds = 2 * 1000 # run 2 second QTimer.singleShot(milliseconds, app.quit) - retcode = app.exec_() + retcode = app.exec() print("End of hello.py ", time.ctime()) sys.exit(retcode) |