Qt for Python Tutorial HelloWorld: Difference between revisions
AutoSpider (talk | contribs) (Rename category "LanguageBindings::PySide" -> "PySide") |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:PySide2]] | |||
= Your first PySide2 application = | |||
As with any other programming framework, you start with the traditional "Hello World" program. | |||
Here is a simple example of an Hello World in PySide: | Here is a simple example of an Hello World in PySide: | ||
< | <syntaxhighlight lang="python" line='line'> | ||
import sys | import sys | ||
from | from PySide2.QtWidgets import QApplication, QLabel | ||
app = QApplication(sys.argv) | app = QApplication(sys.argv) | ||
# | #label = QLabel("Hello World!") | ||
label = QLabel("Hello World") | label = QLabel("<font color=red size=40>Hello World!</font>") | ||
label.show() | label.show() | ||
app.exec_() | app.exec_() | ||
</syntaxhighlight> | |||
</ | |||
With | With PySide2 desktop applications, you must always start your file by importing PySide2.QtWidgets classes. These classes have the main functions for building Qt for Python applications. | ||
After the imports, you create a QApplication which is the main Qt application. As Qt can receive arguments from command line, you must pass any arguments to the QApplication object. Usually, you don't need to pass any arguments so you can leave it as it is. | After the imports, you create a QApplication which is the main Qt application. As Qt can receive arguments from command line, you must pass any arguments to the QApplication object. Usually, you don't need to pass any arguments so you can leave it as it is. | ||
Line 43: | Line 30: | ||
As mentioned previously, you can insert html tags in the label to present rich text. Try changing the code which creates the label for something like: | As mentioned previously, you can insert html tags in the label to present rich text. Try changing the code which creates the label for something like: | ||
< | <pre> | ||
label = QLabel("<font color=red size=40>Hello World</font>") | label = QLabel("<font color=red size=40>Hello World</font>") | ||
</ | </pre> | ||
and you will | and you will see the "Hello World" now bigger and red. You can try to change to another color, another size, or make it blink! Or you can create other elements instead of the QLabel, like QPushButton, or others. |
Latest revision as of 08:27, 18 April 2018
Your first PySide2 application
As with any other programming framework, you start with the traditional "Hello World" program.
Here is a simple example of an Hello World in PySide:
import sys
from PySide2.QtWidgets import QApplication, QLabel
app = QApplication(sys.argv)
#label = QLabel("Hello World!")
label = QLabel("<font color=red size=40>Hello World!</font>")
label.show()
app.exec_()
With PySide2 desktop applications, you must always start your file by importing PySide2.QtWidgets classes. These classes have the main functions for building Qt for Python applications.
After the imports, you create a QApplication which is the main Qt application. As Qt can receive arguments from command line, you must pass any arguments to the QApplication object. Usually, you don't need to pass any arguments so you can leave it as it is.
After the creation of the application object, we have created a QLabel object. A QLabel is a widget that can present text (simple or rich, like html), and images. Note that after the creation of the label, we are calling the method show which will present the label to the user.
Finally, we call app.exec_() which will enter the Qt main loop and start to execute the Qt code. In reality, it is only here that the label will be shown, but this can be ignored for now.
Displaying html in the label
As mentioned previously, you can insert html tags in the label to present rich text. Try changing the code which creates the label for something like:
label = QLabel("<font color=red size=40>Hello World</font>")
and you will see the "Hello World" now bigger and red. You can try to change to another color, another size, or make it blink! Or you can create other elements instead of the QLabel, like QPushButton, or others.