blob: 9ca330deaa0c977abcb3724f17586bef4a5c16ea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
.. currentmodule:: PySide2.QtUiTools
.. _loadUiType:
loadUiType
***********
.. py:function:: loadUiType(uifile: str) -> tuple(object, object)
:param str uifile: The name of the `.ui` file
:return: tuple(object, object)
This function generates and loads a `.ui` file at runtime, and it returns
a `tuple` containing the reference to the Python class, and the base class.
We recommend not to use this approach as the workflow should be to generate a Python file
from the `.ui` file, and then import and load it to use it, but we do understand that
there are some corner cases when such functionality is required.
The internal process relies on `uic` being in the PATH.
The `pyside2-uic` wrapper uses a shipped `uic` that is located in the
`site-packages/PySide2/uic`, so PATH needs to be updated to use that if there
is no `uic` in the system.
A simple use case is::
from PySide2.QtUiTools import loadUiType
generated_class, base_class = loadUiType("themewidget.ui")
# the values will be:
# (<class '__main__.Ui_ThemeWidgetForm'>, <class 'PySide2.QtWidgets.QWidget'>)
widget = base_class()
form = generated_class()
form.setupUi(widget)
# form.a_widget_member.a_method_of_member()
widget.show()
|