aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-24 14:24:06 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-24 14:24:09 +0200
commit8b892f71b749a623724ccecca881972a33c9d559 (patch)
tree88d7a2371481cafd559d4895efa41b6f166ed8ac /examples
parentfff6ea0059b7394869166a01674a9afa230bc3a9 (diff)
parenta7038d87ba6ec3b2beeee166930c24f290f6478f (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Diffstat (limited to 'examples')
-rw-r--r--examples/examples.pyproject1
-rw-r--r--examples/installer_test/hello.py103
-rw-r--r--examples/installer_test/hello_app.spec85
-rw-r--r--examples/utils/pyside2_config.py4
4 files changed, 191 insertions, 2 deletions
diff --git a/examples/examples.pyproject b/examples/examples.pyproject
index 5c96e997..559989f9 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 00000000..77b05020
--- /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 00000000..d096ab17
--- /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 c62b38ca..97341010 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