-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathlabel.py
executable file
·48 lines (36 loc) · 1.6 KB
/
label.py
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
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env python3
# Level 9: Ein Label in einem Fenster.
"""
In diesem Level verwenden wir Qt 5 (https://www.qt.io/).
Für eine Anbindung an Python kann man PySide 2 (https://wiki.qt.io/PySide2) oder PyQT 5 verwenden.
PySide 2 ist etwas näher am "normalen" Qt für C++,
aber leider in vielen Distributionen noch nicht in den Paketquellen.
Für die aktuelle Ubuntu LTS (16.04) müsste z.B. das PPA ppa:thopiekar/pyside-git
(https://launchpad.net/~thopiekar/+archive/ubuntu/pyside-git) hinzugefügt und
das Paket "python3-pyside2" installiert werden.
Daher verwenden wir qtpy (https://github.com/spyder-ide/qtpy),
was die jeweils auf dem System installierte Bibliothek lädt.
(Achtung: Dabei kann auch noch das alte Qt 4 herausfallen!)
qtpy kann man z.B. unter Ubuntu mit dem Paket "python3-qtpy"
oder auf allen Systemen mit pip3 installieren.
"""
from qtpy.QtCore import *
from qtpy.QtGui import *
from qtpy.QtWidgets import *
import sys
"""
Am Anfang muss ein QApplication-Objekt erstellt werden.
sys.argv wird durchgeschleift, damit Qt auf einige Parameter reagieren kann
(u.a. diese: https://doc.qt.io/qt-5/qapplication.html#QApplication).
(Die Wayland-Kompatibilität mittels "--platform wayland" bekommen wir geschenkt.)
"""
app = QApplication(sys.argv)
# Das Folgende ist einfaches "Hallo Welt!"-Beispiel.
# Zuerst erstellen wir ein QLabel mit unserem Text.
# Widgets, die kein parent haben, sind ein neues Fenster.
label = QLabel("Hallo Welt!")
# Dann zeigen wir es an.
label.show()
# Und jetzt übergeben wir die Kontrolle an die Qt-Mainloop.
app.exec_()
# für ein fortgeschrittenes Beispiel siehe textbox.py