de:qt
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:qt [2022/08/23 18:58] – [ColumnView] roehner | de:qt [2023/05/09 14:50] (aktuell) – [Voraussetzung] roehner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Voraussetzung ===== | ===== Voraussetzung ===== | ||
- | Zur Verwendung der modernen und leistungsfähigen Qt-Bibliothek muss man das Paket PyQt6 installieren. Dazu ruft man über das Werkzeuge-Menü von GuiPy den Befehl // | + | Zur Verwendung der modernen und leistungsfähigen Qt-Bibliothek muss man das Paket PyQt6 installieren. Dazu ruft man über das Werkzeuge-Menü von GuiPy den Befehl // |
- | Alternativ installiert | + | Zusätzlich sollte |
+ | |||
+ | Eine der wichtigsten Änderungen in PyQt6, ist die Notwendigkeit, | ||
+ | |||
+ | Möchten Sie lieber mit den verkürzten Formen arbeiten, so können Sie im Qt-Template PyQt6 durch PySide6 | ||
In der [[https:// | In der [[https:// | ||
Zeile 15: | Zeile 19: | ||
Der Pythoncode eines GUI-Programms wird unter der Dateierweiterung .pyw gespeichert, | Der Pythoncode eines GUI-Programms wird unter der Dateierweiterung .pyw gespeichert, | ||
+ | ===== Qt Base ===== | ||
==== Label ==== | ==== Label ==== | ||
{{: | {{: | ||
Zeile 57: | Zeile 62: | ||
clear() löscht den gesamten Text. Die[[https:// | clear() löscht den gesamten Text. Die[[https:// | ||
-------- | -------- | ||
- | ==== Button | + | ==== PushButton |
- | {{: | + | {{: |
Beispiel: | Beispiel: | ||
Zeile 67: | Zeile 72: | ||
</ | </ | ||
- | Um auch bei vielen Buttons in einem Formular die Übersicht im Quelltext zu behalten, werden die Buttons und zugehörigen Ereignismethoden automatisch nach der Beschriftung im Attribut Text des Objektinspektors benannt. | + | Um auch bei vielen Buttons in einem Formular die Übersicht im Quelltext zu behalten, werden die Buttons und zugehörigen Ereignismethoden automatisch nach der Beschriftung im Attribut |
+ | |||
+ | Ein Doppelklick auf einen Button im Designfenster positioniert den Cursor auf die zugehörige Ereignismethode. | ||
==== CheckBox ==== | ==== CheckBox ==== | ||
{{: | {{: | ||
- | Eine CheckBox kann ausgewählt sein oder nicht. Den aktuellen Zustand liefert die boolesche Methode // | + | Eine CheckBox kann ausgewählt sein oder nicht. Den aktuellen Zustand liefert die boolesche Methode // |
Beispiel: | Beispiel: | ||
Zeile 143: | Zeile 150: | ||
Mit einem ScrollBar kann man einen Bildlauf durchführen, | Mit einem ScrollBar kann man einen Bildlauf durchführen, | ||
+ | ---- | ||
+ | ==== Canvas ==== | ||
+ | {{: | ||
+ | Ein Canvas ist eine Zeichenfläche. Der Painter für die Zeichenfläche hat viele Zeichenmöglichkeiten. | ||
+ | |||
+ | Beispiel: | ||
+ | <code python> | ||
+ | def pushButton1_clicked(self, | ||
+ | self.canvas1Painter.drawEllipse(0, | ||
+ | self.canvas1Painter.drawLine(0, | ||
+ | self.canvas1.setPixmap(self.canvas1Pixmap) | ||
+ | </ | ||
+ | |||
+ | Ein Canvas besteht aus einem Label-Widget, | ||
+ | |||
+ | Wie im Beispiel gezeigt, kann man mit dem Painter ganz einfach zeichnen. Wenn die Zeichnung fertig ist, muss man sie wie folgt anzeigen: | ||
+ | <code python> | ||
---- | ---- | ||
==== Frame==== | ==== Frame==== | ||
Zeile 152: | Zeile 176: | ||
Eine GroupBox ist wie ein Frame ein Container für andere Widgets. Eine GroupBox hat aber zusätzlich einen Rahmen mit integriertem Label. | Eine GroupBox ist wie ein Frame ein Container für andere Widgets. Eine GroupBox hat aber zusätzlich einen Rahmen mit integriertem Label. | ||
- | GuiPy stellt eine ButtonGroup für RadioButtons mit Hilfe einer GroupBox grafisch dar. | + | GuiPy stellt eine ButtonGroup für RadioButtons |
---- | ---- | ||
==== Slider ==== | ==== Slider ==== | ||
Zeile 196: | Zeile 220: | ||
Ein Menu-Widget ist ein Kontextmenü, | Ein Menu-Widget ist ein Kontextmenü, | ||
- | Man kann jedem Widget ein Kontextmenü zuweisen. Dazu gibt man beim Attribut // | + | Man kann jedem Widget ein Kontextmenü zuweisen. Dazu gibt man beim Attribut // |
---- | ---- | ||
==== TabWidget==== | ==== TabWidget==== | ||
Zeile 209: | Zeile 233: | ||
---- | ---- | ||
==== TreeWidget==== | ==== TreeWidget==== | ||
- | {{:treeview.png}} Ein TreeWidget stellt eine hierarchische Struktur baumartig dar. Zu jedem Baumknoten können in weiteren Spalten zusätzliche Informationen angezeigt werden. | + | {{:treewidget.png}} Ein TreeWidget stellt eine hierarchische Struktur baumartig dar. Zu jedem Baumknoten können in weiteren Spalten zusätzliche Informationen angezeigt werden. |
Durch entsprechende Einrückung wird die Struktur über das Attribut //Items// festgelegt. Diese Struktur ist anfangs vorgegeben: | Durch entsprechende Einrückung wird die Struktur über das Attribut //Items// festgelegt. Diese Struktur ist anfangs vorgegeben: | ||
Zeile 231: | Zeile 255: | ||
{{: | {{: | ||
---- | ---- | ||
+ | ===== Qt Controls ===== | ||
==== TextEdit ==== | ==== TextEdit ==== | ||
{{: | {{: | ||
Zeile 296: | Zeile 321: | ||
==== TreeView ==== | ==== TreeView ==== | ||
{{: | {{: | ||
+ | ---- | ||
+ | ==== TableView ==== | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== GraphicsView ==== | ||
+ | {{: | ||
---- | ---- |
de/qt.1661273933.txt.gz · Zuletzt geändert: 2022/08/23 18:58 von roehner