aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/doc/tutorials/basictutorial/uifiles.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/doc/tutorials/basictutorial/uifiles.rst')
-rw-r--r--sources/pyside2/doc/tutorials/basictutorial/uifiles.rst174
1 files changed, 0 insertions, 174 deletions
diff --git a/sources/pyside2/doc/tutorials/basictutorial/uifiles.rst b/sources/pyside2/doc/tutorials/basictutorial/uifiles.rst
deleted file mode 100644
index b00437bcb..000000000
--- a/sources/pyside2/doc/tutorials/basictutorial/uifiles.rst
+++ /dev/null
@@ -1,174 +0,0 @@
-Using UI Files
-***************
-
-This page describes the use of Qt Creator to create graphical
-interfaces for your Qt for Python project.
-You will need **Qt Creator** to design and modify your interface (UI file).
-
-If you don't know how to use Qt Creator, refer to the
-`Using Qt Designer <http://doc.qt.io/qtcreator/creator-using-qt-designer.html>`_
-documentation page.
-
-At Qt Creator, create a new Qt Design Form, choose "Main Window" for template.
-And save as `mainwindow.ui`.
-Add a `QPushButton` to the center of the centralwidget.
-
-Your file (mainwindow.ui) should look something like this:
-::
-
- <?xml version="1.0" encoding="UTF-8"?>
- <ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>MainWindow</string>
- </property>
- <widget class="QWidget" name="centralWidget">
- <widget class="QPushButton" name="pushButton">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>80</y>
- <width>201</width>
- <height>81</height>
- </rect>
- </property>
- <property name="text">
- <string>PushButton</string>
- </property>
- </widget>
- </widget>
- <widget class="QMenuBar" name="menuBar">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>20</height>
- </rect>
- </property>
- </widget>
- <widget class="QToolBar" name="mainToolBar">
- <attribute name="toolBarArea">
- <enum>TopToolBarArea</enum>
- </attribute>
- <attribute name="toolBarBreak">
- <bool>false</bool>
- </attribute>
- </widget>
- <widget class="QStatusBar" name="statusBar"/>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
- </ui>
-
-Now we are ready to decide how to use the **UI file** from Python.
-
-Generating a Python class
-=========================
-
-Another option to interact with a **UI file** is to generate a Python
-class from it. This is possible thanks to the `pyside2-uic` tool.
-To use this tool, you need to run the following command on a console:
-::
-
- pyside2-uic mainwindow.ui > ui_mainwindow.py
-
-We redirect all the output of the command to a file called `ui_mainwindow.py`,
-which will be imported directly:
-::
-
- from ui_mainwindow import Ui_MainWindow
-
-Now to use it, we should create a personalized class for our widget
-to **setup** this generated design.
-
-To understand the idea, let's take a look at the whole code:
-::
-
- import sys
- from PySide2.QtWidgets import QApplication, QMainWindow
- from PySide2.QtCore import QFile
- from ui_mainwindow import Ui_MainWindow
-
- class MainWindow(QMainWindow):
- def __init__(self):
- super(MainWindow, self).__init__()
- self.ui = Ui_MainWindow()
- self.ui.setupUi(self)
-
- if __name__ == "__main__":
- app = QApplication(sys.argv)
-
- window = MainWindow()
- window.show()
-
- sys.exit(app.exec_())
-
-What is inside the *if* statement is already known from the previous
-examples, and our new basic class contains only two new lines
-that are in charge of loading the generated python class from the UI
-file:
-::
-
- self.ui = Ui_MainWindow()
- self.ui.setupUi(self)
-
-.. note:: You must run `pyside2-uic` again every time you make changes
-to the **UI file**.
-
-Loading it directly
-====================
-
-To load the UI file directly, we will need a class from the **QtUiTools**
-module:
-::
-
- from PySide2.QtUiTools import QUiLoader
-
-The `QUiLoader` lets us load the **ui file** dynamically
-and use it right away:
-::
- ui_file = QFile("mainwindow.ui")
- ui_file.open(QFile.ReadOnly)
-
- loader = QUiLoader()
- window = loader.load(ui_file)
- window.show()
-
-The complete code of this example looks like this:
-::
-
- # File: main.py
- import sys
- from PySide2.QtUiTools import QUiLoader
- from PySide2.QtWidgets import QApplication
- from PySide2.QtCore import QFile
-
- if __name__ == "__main__":
- app = QApplication(sys.argv)
-
- ui_file = QFile("mainwindow.ui")
- ui_file.open(QFile.ReadOnly)
-
- loader = QUiLoader()
- window = loader.load(ui_file)
- ui_file.close()
- window.show()
-
- sys.exit(app.exec_())
-
-Then to execute it we just need to run the following on a
-command prompt:
-::
-
- python main.py