diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-24 14:24:06 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-24 14:24:09 +0200 |
commit | 8b892f71b749a623724ccecca881972a33c9d559 (patch) | |
tree | 88d7a2371481cafd559d4895efa41b6f166ed8ac /examples | |
parent | fff6ea0059b7394869166a01674a9afa230bc3a9 (diff) | |
parent | a7038d87ba6ec3b2beeee166930c24f290f6478f (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I28805a29caa05e996b490ba46e27ddbc243cc074
Diffstat (limited to 'examples')
-rw-r--r-- | examples/examples.pyproject | 1 | ||||
-rw-r--r-- | examples/installer_test/hello.py | 103 | ||||
-rw-r--r-- | examples/installer_test/hello_app.spec | 85 | ||||
-rw-r--r-- | examples/utils/pyside2_config.py | 4 |
4 files changed, 191 insertions, 2 deletions
diff --git a/examples/examples.pyproject b/examples/examples.pyproject index 5c96e9978..559989f9f 100644 --- a/examples/examples.pyproject +++ b/examples/examples.pyproject @@ -16,6 +16,7 @@ "declarative/signals/qmltopy3/main.py", "declarative/signals/qmltopy4/main.py", "declarative/usingmodel.py", + "installer_test/hello.py" "macextras/macpasteboardmime.py", "multimedia/audiooutput.py", "multimedia/camera.py", diff --git a/examples/installer_test/hello.py b/examples/installer_test/hello.py new file mode 100644 index 000000000..77b050206 --- /dev/null +++ b/examples/installer_test/hello.py @@ -0,0 +1,103 @@ +# 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$ +## +############################################################################# + +""" +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 . + +When 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, + QVBoxLayout, QWidget) +from PySide2.QtCore import Slot, Qt, QTimer + +class MyWidget(QWidget): + def __init__(self): + QWidget.__init__(self) + + self.hello = ["Hallo Welt", "你好,世界", "Hei maailma", + "Hola Mundo", "Привет мир"] + + self.button = QPushButton("Click me!") + self.text = QLabel("Hello World embedded={}".format(sys.pyside_uses_embedding)) + self.text.setAlignment(Qt.AlignCenter) + + self.layout = QVBoxLayout() + self.layout.addWidget(self.text) + self.layout.addWidget(self.button) + self.setLayout(self.layout) + + # Connecting the signal + self.button.clicked.connect(self.magic) + + @Slot() + 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())) + + app = QApplication() + + widget = MyWidget() + widget.resize(800, 600) + widget.show() + if sys.pyside_uses_embedding: + milliseconds = 2 * 1000 # run 2 second + QTimer.singleShot(milliseconds, app.quit) + retcode = app.exec_() + print("End of hello.py ", time.ctime()) + sys.exit(retcode) diff --git a/examples/installer_test/hello_app.spec b/examples/installer_test/hello_app.spec new file mode 100644 index 000000000..d096ab170 --- /dev/null +++ b/examples/installer_test/hello_app.spec @@ -0,0 +1,85 @@ +# 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$ +## +############################################################################# + +""" +hello_app.spec + +This is almost the spec file generated by running PyInstaller. +Just the paths were adjusted and made relative. +As an effect, all the analysis is avoided, and the log file of +wheel_tester.py went down from 775 lines to 278 lines. :-) +""" + +block_cipher = None + + +a = Analysis(['hello.py'], + pathex=['pyinstaller'], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) +exe = EXE(pyz, + a.scripts, + [], + exclude_binaries=True, + name='hello_app', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + console=True ) +coll = COLLECT(exe, + a.binaries, + a.zipfiles, + a.datas, + strip=False, + upx=True, + name='hello_app') diff --git a/examples/utils/pyside2_config.py b/examples/utils/pyside2_config.py index c62b38cad..973410100 100644 --- a/examples/utils/pyside2_config.py +++ b/examples/utils/pyside2_config.py @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## 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. @@ -149,7 +149,7 @@ def shared_library_suffix(): def import_suffixes(): if (sys.version_info >= (3, 4)): - import importlib + import importlib.machinery return importlib.machinery.EXTENSION_SUFFIXES else: import imp |