diff options
Diffstat (limited to 'examples/widgets/itemviews/simpletreemodel')
4 files changed, 435 insertions, 0 deletions
diff --git a/examples/widgets/itemviews/simpletreemodel/default.txt b/examples/widgets/itemviews/simpletreemodel/default.txt new file mode 100644 index 0000000..2b2fb57 --- /dev/null +++ b/examples/widgets/itemviews/simpletreemodel/default.txt @@ -0,0 +1,40 @@ +Getting Started How to familiarize yourself with Qt Designer + Launching Designer Running the Qt Designer application + The User Interface How to interact with Qt Designer + +Designing a Component Creating a GUI for your application + Creating a Dialog How to create a dialog + Composing the Dialog Putting widgets into the dialog example + Creating a Layout Arranging widgets on a form + Signal and Slot Connections Making widget communicate with each other + +Using a Component in Your Application Generating code from forms + The Direct Approach Using a form without any adjustments + The Single Inheritance Approach Subclassing a form's base class + The Multiple Inheritance Approach Subclassing the form itself + Automatic Connections Connecting widgets using a naming scheme + A Dialog Without Auto-Connect How to connect widgets without a naming scheme + A Dialog With Auto-Connect Using automatic connections + +Form Editing Mode How to edit a form in Qt Designer + Managing Forms Loading and saving forms + Editing a Form Basic editing techniques + The Property Editor Changing widget properties + The Object Inspector Examining the hierarchy of objects on a form + Layouts Objects that arrange widgets on a form + Applying and Breaking Layouts Managing widgets in layouts + Horizontal and Vertical Layouts Standard row and column layouts + The Grid Layout Arranging widgets in a matrix + Previewing Forms Checking that the design works + +Using Containers How to group widgets together + General Features Common container features + Frames QFrame + Group Boxes QGroupBox + Stacked Widgets QStackedWidget + Tab Widgets QTabWidget + Toolbox Widgets QToolBox + +Connection Editing Mode Connecting widgets together with signals and slots + Connecting Objects Making connections in Qt Designer + Editing Connections Changing existing connections diff --git a/examples/widgets/itemviews/simpletreemodel/simpletreemodel.py b/examples/widgets/itemviews/simpletreemodel/simpletreemodel.py new file mode 100755 index 0000000..6b7f467 --- /dev/null +++ b/examples/widgets/itemviews/simpletreemodel/simpletreemodel.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python + +############################################################################ +## +## Copyright (C) 2005-2005 Trolltech AS. All rights reserved. +## +## This file is part of the example classes of the Qt Toolkit. +## +## This file may be used under the terms of the GNU General Public +## License version 2.0 as published by the Free Software Foundation +## and appearing in the file LICENSE.GPL included in the packaging of +## this file. Please review the following information to ensure GNU +## General Public Licensing requirements will be met: +## http://www.trolltech.com/products/qt/opensource.html +## +## If you are unsure which license is appropriate for your use, please +## review the following information: +## http://www.trolltech.com/products/qt/licensing.html or contact the +## sales department at sales@trolltech.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################ + +from PySide2 import QtCore, QtGui + +import simpletreemodel_rc + + +class TreeItem(object): + def __init__(self, data, parent=None): + self.parentItem = parent + self.itemData = data + self.childItems = [] + + def appendChild(self, item): + self.childItems.append(item) + + def child(self, row): + return self.childItems[row] + + def childCount(self): + return len(self.childItems) + + def columnCount(self): + return len(self.itemData) + + def data(self, column): + try: + return self.itemData[column] + except IndexError: + return None + + def parent(self): + return self.parentItem + + def row(self): + if self.parentItem: + return self.parentItem.childItems.index(self) + + return 0 + + +class TreeModel(QtCore.QAbstractItemModel): + def __init__(self, data, parent=None): + super(TreeModel, self).__init__(parent) + + self.rootItem = TreeItem(("Title", "Summary")) + self.setupModelData(data.split('\n'), self.rootItem) + + def columnCount(self, parent): + if parent.isValid(): + return parent.internalPointer().columnCount() + else: + return self.rootItem.columnCount() + + def data(self, index, role): + if not index.isValid(): + return None + + if role != QtCore.Qt.DisplayRole: + return None + + item = index.internalPointer() + + return item.data(index.column()) + + def flags(self, index): + if not index.isValid(): + return QtCore.Qt.NoItemFlags + + return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable + + def headerData(self, section, orientation, role): + if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole: + return self.rootItem.data(section) + + return None + + def index(self, row, column, parent): + if not self.hasIndex(row, column, parent): + return QtCore.QModelIndex() + + if not parent.isValid(): + parentItem = self.rootItem + else: + parentItem = parent.internalPointer() + + childItem = parentItem.child(row) + if childItem: + return self.createIndex(row, column, childItem) + else: + return QtCore.QModelIndex() + + def parent(self, index): + if not index.isValid(): + return QtCore.QModelIndex() + + childItem = index.internalPointer() + parentItem = childItem.parent() + + if parentItem == self.rootItem: + return QtCore.QModelIndex() + + return self.createIndex(parentItem.row(), 0, parentItem) + + def rowCount(self, parent): + if parent.column() > 0: + return 0 + + if not parent.isValid(): + parentItem = self.rootItem + else: + parentItem = parent.internalPointer() + + return parentItem.childCount() + + def setupModelData(self, lines, parent): + parents = [parent] + indentations = [0] + + number = 0 + + while number < len(lines): + position = 0 + while position < len(lines[number]): + if lines[number][position] != ' ': + break + position += 1 + + lineData = lines[number][position:].strip() + + if lineData: + # Read the column data from the rest of the line. + columnData = [s for s in lineData.split('\t') if s] + + if position > indentations[-1]: + # The last child of the current parent is now the new + # parent unless the current parent has no children. + + if parents[-1].childCount() > 0: + parents.append(parents[-1].child(parents[-1].childCount() - 1)) + indentations.append(position) + + else: + while position < indentations[-1] and len(parents) > 0: + parents.pop() + indentations.pop() + + # Append a new item to the current parent's list of children. + parents[-1].appendChild(TreeItem(columnData, parents[-1])) + + number += 1 + + +if __name__ == '__main__': + + import sys + + app = QtGui.QApplication(sys.argv) + + f = QtCore.QFile(':/default.txt') + f.open(QtCore.QIODevice.ReadOnly) + model = TreeModel(str(f.readAll())) + f.close() + + view = QtGui.QTreeView() + view.setModel(model) + view.setWindowTitle("Simple Tree Model") + view.show() + sys.exit(app.exec_()) diff --git a/examples/widgets/itemviews/simpletreemodel/simpletreemodel.qrc b/examples/widgets/itemviews/simpletreemodel/simpletreemodel.qrc new file mode 100644 index 0000000..a8ecc98 --- /dev/null +++ b/examples/widgets/itemviews/simpletreemodel/simpletreemodel.qrc @@ -0,0 +1,5 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>default.txt</file> +</qresource> +</RCC> diff --git a/examples/widgets/itemviews/simpletreemodel/simpletreemodel_rc.py b/examples/widgets/itemviews/simpletreemodel/simpletreemodel_rc.py new file mode 100644 index 0000000..a9a899a --- /dev/null +++ b/examples/widgets/itemviews/simpletreemodel/simpletreemodel_rc.py @@ -0,0 +1,198 @@ +############################################################################# +## +## Copyright (C) 2013 Riverbank Computing Limited. +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the PySide 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$ +## +############################################################################# + +# Resource object code +# +# Created: Wed Dec 28 19:56:08 2005 +# by: The Resource Compiler for PyQt (Qt v4.1.0) +# +# WARNING! All changes made in this file will be lost! + +from PySide2 import QtCore + +qt_resource_data = b"\ +\x00\x00\x07\xb9\ +\x47\ +\x65\x74\x74\x69\x6e\x67\x20\x53\x74\x61\x72\x74\x65\x64\x09\x09\ +\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x66\x61\x6d\x69\x6c\x69\x61\ +\x72\x69\x7a\x65\x20\x79\x6f\x75\x72\x73\x65\x6c\x66\x20\x77\x69\ +\x74\x68\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x0a\x20\ +\x20\x20\x20\x4c\x61\x75\x6e\x63\x68\x69\x6e\x67\x20\x44\x65\x73\ +\x69\x67\x6e\x65\x72\x09\x09\x09\x52\x75\x6e\x6e\x69\x6e\x67\x20\ +\x74\x68\x65\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\ +\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\ +\x54\x68\x65\x20\x55\x73\x65\x72\x20\x49\x6e\x74\x65\x72\x66\x61\ +\x63\x65\x09\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x69\x6e\x74\x65\ +\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x51\x74\x20\x44\x65\x73\ +\x69\x67\x6e\x65\x72\x0a\x0a\x44\x65\x73\x69\x67\x6e\x69\x6e\x67\ +\x20\x61\x20\x43\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x09\x09\x09\x43\ +\x72\x65\x61\x74\x69\x6e\x67\x20\x61\x20\x47\x55\x49\x20\x66\x6f\ +\x72\x20\x79\x6f\x75\x72\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\ +\x6f\x6e\x0a\x20\x20\x20\x20\x43\x72\x65\x61\x74\x69\x6e\x67\x20\ +\x61\x20\x44\x69\x61\x6c\x6f\x67\x09\x09\x09\x48\x6f\x77\x20\x74\ +\x6f\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x64\x69\x61\x6c\x6f\ +\x67\x0a\x20\x20\x20\x20\x43\x6f\x6d\x70\x6f\x73\x69\x6e\x67\x20\ +\x74\x68\x65\x20\x44\x69\x61\x6c\x6f\x67\x09\x09\x50\x75\x74\x74\ +\x69\x6e\x67\x20\x77\x69\x64\x67\x65\x74\x73\x20\x69\x6e\x74\x6f\ +\x20\x74\x68\x65\x20\x64\x69\x61\x6c\x6f\x67\x20\x65\x78\x61\x6d\ +\x70\x6c\x65\x0a\x20\x20\x20\x20\x43\x72\x65\x61\x74\x69\x6e\x67\ +\x20\x61\x20\x4c\x61\x79\x6f\x75\x74\x09\x09\x09\x41\x72\x72\x61\ +\x6e\x67\x69\x6e\x67\x20\x77\x69\x64\x67\x65\x74\x73\x20\x6f\x6e\ +\x20\x61\x20\x66\x6f\x72\x6d\x0a\x20\x20\x20\x20\x53\x69\x67\x6e\ +\x61\x6c\x20\x61\x6e\x64\x20\x53\x6c\x6f\x74\x20\x43\x6f\x6e\x6e\ +\x65\x63\x74\x69\x6f\x6e\x73\x09\x09\x4d\x61\x6b\x69\x6e\x67\x20\ +\x77\x69\x64\x67\x65\x74\x20\x63\x6f\x6d\x6d\x75\x6e\x69\x63\x61\ +\x74\x65\x20\x77\x69\x74\x68\x20\x65\x61\x63\x68\x20\x6f\x74\x68\ +\x65\x72\x0a\x0a\x55\x73\x69\x6e\x67\x20\x61\x20\x43\x6f\x6d\x70\ +\x6f\x6e\x65\x6e\x74\x20\x69\x6e\x20\x59\x6f\x75\x72\x20\x41\x70\ +\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x09\x47\x65\x6e\x65\x72\x61\ +\x74\x69\x6e\x67\x20\x63\x6f\x64\x65\x20\x66\x72\x6f\x6d\x20\x66\ +\x6f\x72\x6d\x73\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x44\x69\x72\ +\x65\x63\x74\x20\x41\x70\x70\x72\x6f\x61\x63\x68\x09\x09\x09\x55\ +\x73\x69\x6e\x67\x20\x61\x20\x66\x6f\x72\x6d\x20\x77\x69\x74\x68\ +\x6f\x75\x74\x20\x61\x6e\x79\x20\x61\x64\x6a\x75\x73\x74\x6d\x65\ +\x6e\x74\x73\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x53\x69\x6e\x67\ +\x6c\x65\x20\x49\x6e\x68\x65\x72\x69\x74\x61\x6e\x63\x65\x20\x41\ +\x70\x70\x72\x6f\x61\x63\x68\x09\x53\x75\x62\x63\x6c\x61\x73\x73\ +\x69\x6e\x67\x20\x61\x20\x66\x6f\x72\x6d\x27\x73\x20\x62\x61\x73\ +\x65\x20\x63\x6c\x61\x73\x73\x0a\x20\x20\x20\x20\x54\x68\x65\x20\ +\x4d\x75\x6c\x74\x69\x70\x6c\x65\x20\x49\x6e\x68\x65\x72\x69\x74\ +\x61\x6e\x63\x65\x20\x41\x70\x70\x72\x6f\x61\x63\x68\x09\x53\x75\ +\x62\x63\x6c\x61\x73\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x66\x6f\ +\x72\x6d\x20\x69\x74\x73\x65\x6c\x66\x0a\x20\x20\x20\x20\x41\x75\ +\x74\x6f\x6d\x61\x74\x69\x63\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\ +\x6f\x6e\x73\x09\x09\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6e\x67\x20\ +\x77\x69\x64\x67\x65\x74\x73\x20\x75\x73\x69\x6e\x67\x20\x61\x20\ +\x6e\x61\x6d\x69\x6e\x67\x20\x73\x63\x68\x65\x6d\x65\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x20\x41\x20\x44\x69\x61\x6c\x6f\x67\x20\x57\ +\x69\x74\x68\x6f\x75\x74\x20\x41\x75\x74\x6f\x2d\x43\x6f\x6e\x6e\ +\x65\x63\x74\x09\x48\x6f\x77\x20\x74\x6f\x20\x63\x6f\x6e\x6e\x65\ +\x63\x74\x20\x77\x69\x64\x67\x65\x74\x73\x20\x77\x69\x74\x68\x6f\ +\x75\x74\x20\x61\x20\x6e\x61\x6d\x69\x6e\x67\x20\x73\x63\x68\x65\ +\x6d\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\x20\x44\x69\x61\ +\x6c\x6f\x67\x20\x57\x69\x74\x68\x20\x41\x75\x74\x6f\x2d\x43\x6f\ +\x6e\x6e\x65\x63\x74\x09\x55\x73\x69\x6e\x67\x20\x61\x75\x74\x6f\ +\x6d\x61\x74\x69\x63\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\ +\x73\x0a\x0a\x46\x6f\x72\x6d\x20\x45\x64\x69\x74\x69\x6e\x67\x20\ +\x4d\x6f\x64\x65\x09\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x65\x64\ +\x69\x74\x20\x61\x20\x66\x6f\x72\x6d\x20\x69\x6e\x20\x51\x74\x20\ +\x44\x65\x73\x69\x67\x6e\x65\x72\x0a\x20\x20\x20\x20\x4d\x61\x6e\ +\x61\x67\x69\x6e\x67\x20\x46\x6f\x72\x6d\x73\x09\x09\x09\x4c\x6f\ +\x61\x64\x69\x6e\x67\x20\x61\x6e\x64\x20\x73\x61\x76\x69\x6e\x67\ +\x20\x66\x6f\x72\x6d\x73\x0a\x20\x20\x20\x20\x45\x64\x69\x74\x69\ +\x6e\x67\x20\x61\x20\x46\x6f\x72\x6d\x09\x09\x09\x42\x61\x73\x69\ +\x63\x20\x65\x64\x69\x74\x69\x6e\x67\x20\x74\x65\x63\x68\x6e\x69\ +\x71\x75\x65\x73\x0a\x20\x20\x20\x20\x54\x68\x65\x20\x50\x72\x6f\ +\x70\x65\x72\x74\x79\x20\x45\x64\x69\x74\x6f\x72\x09\x09\x09\x43\ +\x68\x61\x6e\x67\x69\x6e\x67\x20\x77\x69\x64\x67\x65\x74\x20\x70\ +\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x0a\x20\x20\x20\x20\x54\x68\ +\x65\x20\x4f\x62\x6a\x65\x63\x74\x20\x49\x6e\x73\x70\x65\x63\x74\ +\x6f\x72\x09\x09\x45\x78\x61\x6d\x69\x6e\x69\x6e\x67\x20\x74\x68\ +\x65\x20\x68\x69\x65\x72\x61\x72\x63\x68\x79\x20\x6f\x66\x20\x6f\ +\x62\x6a\x65\x63\x74\x73\x20\x6f\x6e\x20\x61\x20\x66\x6f\x72\x6d\ +\x0a\x20\x20\x20\x20\x4c\x61\x79\x6f\x75\x74\x73\x09\x09\x09\x09\ +\x4f\x62\x6a\x65\x63\x74\x73\x20\x74\x68\x61\x74\x20\x61\x72\x72\ +\x61\x6e\x67\x65\x20\x77\x69\x64\x67\x65\x74\x73\x20\x6f\x6e\x20\ +\x61\x20\x66\x6f\x72\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x41\ +\x70\x70\x6c\x79\x69\x6e\x67\x20\x61\x6e\x64\x20\x42\x72\x65\x61\ +\x6b\x69\x6e\x67\x20\x4c\x61\x79\x6f\x75\x74\x73\x09\x4d\x61\x6e\ +\x61\x67\x69\x6e\x67\x20\x77\x69\x64\x67\x65\x74\x73\x20\x69\x6e\ +\x20\x6c\x61\x79\x6f\x75\x74\x73\x20\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x20\x48\x6f\x72\x69\x7a\x6f\x6e\x74\x61\x6c\x20\x61\x6e\x64\ +\x20\x56\x65\x72\x74\x69\x63\x61\x6c\x20\x4c\x61\x79\x6f\x75\x74\ +\x73\x09\x53\x74\x61\x6e\x64\x61\x72\x64\x20\x72\x6f\x77\x20\x61\ +\x6e\x64\x20\x63\x6f\x6c\x75\x6d\x6e\x20\x6c\x61\x79\x6f\x75\x74\ +\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x47\x72\ +\x69\x64\x20\x4c\x61\x79\x6f\x75\x74\x09\x09\x09\x41\x72\x72\x61\ +\x6e\x67\x69\x6e\x67\x20\x77\x69\x64\x67\x65\x74\x73\x20\x69\x6e\ +\x20\x61\x20\x6d\x61\x74\x72\x69\x78\x0a\x20\x20\x20\x20\x50\x72\ +\x65\x76\x69\x65\x77\x69\x6e\x67\x20\x46\x6f\x72\x6d\x73\x09\x09\ +\x09\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x74\x68\x61\x74\x20\x74\ +\x68\x65\x20\x64\x65\x73\x69\x67\x6e\x20\x77\x6f\x72\x6b\x73\x0a\ +\x0a\x55\x73\x69\x6e\x67\x20\x43\x6f\x6e\x74\x61\x69\x6e\x65\x72\ +\x73\x09\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x67\x72\x6f\x75\x70\ +\x20\x77\x69\x64\x67\x65\x74\x73\x20\x74\x6f\x67\x65\x74\x68\x65\ +\x72\x0a\x20\x20\x20\x20\x47\x65\x6e\x65\x72\x61\x6c\x20\x46\x65\ +\x61\x74\x75\x72\x65\x73\x09\x09\x09\x43\x6f\x6d\x6d\x6f\x6e\x20\ +\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x20\x66\x65\x61\x74\x75\x72\ +\x65\x73\x0a\x20\x20\x20\x20\x46\x72\x61\x6d\x65\x73\x09\x09\x09\ +\x09\x51\x46\x72\x61\x6d\x65\x0a\x20\x20\x20\x20\x47\x72\x6f\x75\ +\x70\x20\x42\x6f\x78\x65\x73\x09\x09\x09\x09\x51\x47\x72\x6f\x75\ +\x70\x42\x6f\x78\x0a\x20\x20\x20\x20\x53\x74\x61\x63\x6b\x65\x64\ +\x20\x57\x69\x64\x67\x65\x74\x73\x09\x09\x09\x51\x53\x74\x61\x63\ +\x6b\x65\x64\x57\x69\x64\x67\x65\x74\x0a\x20\x20\x20\x20\x54\x61\ +\x62\x20\x57\x69\x64\x67\x65\x74\x73\x09\x09\x09\x09\x51\x54\x61\ +\x62\x57\x69\x64\x67\x65\x74\x0a\x20\x20\x20\x20\x54\x6f\x6f\x6c\ +\x62\x6f\x78\x20\x57\x69\x64\x67\x65\x74\x73\x09\x09\x09\x51\x54\ +\x6f\x6f\x6c\x42\x6f\x78\x0a\x0a\x43\x6f\x6e\x6e\x65\x63\x74\x69\ +\x6f\x6e\x20\x45\x64\x69\x74\x69\x6e\x67\x20\x4d\x6f\x64\x65\x09\ +\x09\x09\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6e\x67\x20\x77\x69\x64\ +\x67\x65\x74\x73\x20\x74\x6f\x67\x65\x74\x68\x65\x72\x20\x77\x69\ +\x74\x68\x20\x73\x69\x67\x6e\x61\x6c\x73\x20\x61\x6e\x64\x20\x73\ +\x6c\x6f\x74\x73\x0a\x20\x20\x20\x20\x43\x6f\x6e\x6e\x65\x63\x74\ +\x69\x6e\x67\x20\x4f\x62\x6a\x65\x63\x74\x73\x09\x09\x09\x4d\x61\ +\x6b\x69\x6e\x67\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x73\ +\x20\x69\x6e\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x0a\ +\x20\x20\x20\x20\x45\x64\x69\x74\x69\x6e\x67\x20\x43\x6f\x6e\x6e\ +\x65\x63\x74\x69\x6f\x6e\x73\x09\x09\x09\x43\x68\x61\x6e\x67\x69\ +\x6e\x67\x20\x65\x78\x69\x73\x74\x69\x6e\x67\x20\x63\x6f\x6e\x6e\ +\x65\x63\x74\x69\x6f\x6e\x73\x0a\ +" + +qt_resource_name = b"\ +\x00\x0b\ +\x0c\xe2\x22\xf4\ +\x00\x64\ +\x00\x65\x00\x66\x00\x61\x00\x75\x00\x6c\x00\x74\x00\x2e\x00\x74\x00\x78\x00\x74\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() |