diff options
Diffstat (limited to 'examples/installer_test/hello.py')
-rw-r--r-- | examples/installer_test/hello.py | 80 |
1 files changed, 24 insertions, 56 deletions
diff --git a/examples/installer_test/hello.py b/examples/installer_test/hello.py index 77b050206..3921b5d51 100644 --- a/examples/installer_test/hello.py +++ b/examples/installer_test/hello.py @@ -1,44 +1,5 @@ -# This Python file uses the following encoding: utf-8 -# It has been edited by fix-complaints.py . - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of Qt for Python. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause """ hello.py @@ -46,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() @@ -85,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) |