aboutsummaryrefslogtreecommitdiffstats
path: root/examples/installer_test/hello.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/installer_test/hello.py')
-rw-r--r--examples/installer_test/hello.py80
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)