Qt for Python UiFiles: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
AutoSpider (talk | contribs) (Move Category:QtForPython -> Category:Qt for Python) |
||
(14 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: | [[Category:Qt for Python]] | ||
This page describes the use of Qt Creator to create Graphical Interfaces for your PySide Software. | |||
You will need Qt Creator to design and modify your interface (ui file) | |||
If you don't know how to use Qt Creator, please go to [http://doc.qt.io/qtcreator/creator-using-qt-designer.html Using Qt Designer]. | |||
At Qt Creator, create a new Qt Design Form, choose "Main Window" for template. | |||
And save as "mainwindow.ui". | |||
Add a Qlabel to the center of the centralwidget. | |||
Your file (mainwindow.ui) should look something like this: | |||
<source lang="xml"> | |||
<?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>82</width> | |||
<height>64</height> | |||
</rect> | |||
</property> | |||
<property name="windowTitle"> | |||
<string>MainWindow</string> | |||
</property> | |||
<widget class="QWidget" name="centralwidget"> | |||
<layout class="QGridLayout" name="gridLayout"> | |||
<item row="0" column="0"> | |||
<widget class="QLabel" name="label"> | |||
<property name="text"> | |||
<string>Hello World!</string> | |||
</property> | |||
</widget> | |||
</item> | |||
</layout> | |||
</widget> | |||
<widget class="QMenuBar" name="menubar"> | |||
<property name="geometry"> | |||
<rect> | |||
<x>0</x> | |||
<y>0</y> | |||
<width>82</width> | |||
<height>21</height> | |||
</rect> | |||
</property> | |||
</widget> | |||
<widget class="QStatusBar" name="statusbar"/> | |||
</widget> | |||
<resources/> | |||
<connections/> | |||
</ui> | |||
</source> | |||
Now, using PySide2 we will load the ui file and start our application: | |||
from | <syntaxhighlight lang="python" line='line'> | ||
# 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) | |||
file = QFile("mainwindow.ui") | |||
file.open(QFile.ReadOnly) | |||
loader = QUiLoader() | |||
window = loader.load(file) | |||
window.show() | |||
sys.exit(app.exec_()) | |||
</syntaxhighlight> | |||
And to run it, just a <code>python main.py</code> will do the job. | |||
Latest revision as of 15:17, 27 May 2018
This page describes the use of Qt Creator to create Graphical Interfaces for your PySide Software.
You will need Qt Creator to design and modify your interface (ui file)
If you don't know how to use Qt Creator, please go to Using Qt Designer.
At Qt Creator, create a new Qt Design Form, choose "Main Window" for template. And save as "mainwindow.ui". Add a Qlabel 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>82</width>
<height>64</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Hello World!</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>82</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
Now, using PySide2 we will load the ui file and start our application:
# 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)
file = QFile("mainwindow.ui")
file.open(QFile.ReadOnly)
loader = QUiLoader()
window = loader.load(file)
window.show()
sys.exit(app.exec_())
And to run it, just a
python main.py
will do the job.