diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-07 06:22:32 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-07 06:22:43 +0200 |
commit | 00dd9150030760544e17563eba2b2dc61ab55541 (patch) | |
tree | 9c9b0151fd8ca5a5f71bc925a39dc2e05fc520e4 /examples | |
parent | d3ef4859e0a2813f6f9d53185511d494d75c49bd (diff) | |
parent | 4fc3a3ac713cdde1453619ecf1116604c36d82b5 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Id9d77dcbb396227a670e4455031ce074488c9e17
Diffstat (limited to 'examples')
-rw-r--r-- | examples/uiloader/uiloader.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/examples/uiloader/uiloader.py b/examples/uiloader/uiloader.py new file mode 100644 index 000000000..1e6e72d78 --- /dev/null +++ b/examples/uiloader/uiloader.py @@ -0,0 +1,71 @@ +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: http://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$ +## +############################################################################# + +"""QUiLoader example, showing how to dynamically load a Qt Designer form + from a UI file.""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import sys + +from PySide2.QtCore import Qt, QFile, QIODevice +from PySide2.QtWidgets import QApplication, QWidget +from PySide2.QtUiTools import QUiLoader + + +if __name__ == '__main__': + arg_parser = ArgumentParser(description="QUiLoader example", + formatter_class=RawTextHelpFormatter) + arg_parser.add_argument('file', type=str, help='UI file') + args = arg_parser.parse_args() + ui_file_name = args.file + + app = QApplication(sys.argv) + ui_file = QFile(ui_file_name) + if not ui_file.open(QIODevice.ReadOnly): + print("Cannot open {}: {}".format(ui_file_name, ui_file.errorString())) + sys.exit(-1) + loader = QUiLoader() + widget = loader.load(ui_file, None) + ui_file.close() + if not widget: + print(loader.errorString()) + sys.exit(-1) + widget.show() + sys.exit(app.exec_()) |