de:tkk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:tkk [2022/03/04 13:19] – [PanedWindow] roehner | de:tkk [2022/08/23 19:03] (aktuell) – [Treeview] roehner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== TKK ===== | ===== TKK ===== | ||
+ | TTK-Widgets sehen eher wie Widgets des Betriebssystems und besser als Tkinter-Widgets. Dafür sind die Tkinter-Widgets leichter konfigurierbar. Die Widgets Combobox, Notebook, Treeview, Progressbar, | ||
+ | |||
Ein GUI-Formular wird mit Hilfe von Widgets aufgebaut. Das sind die grafischen Komponenten, | Ein GUI-Formular wird mit Hilfe von Widgets aufgebaut. Das sind die grafischen Komponenten, | ||
- | Ein GUI-Programm legt man mit dem Symbol {{:tkinter.png}} für neue Tk/ | + | Ein GUI-Programm legt man mit dem Symbol {{:tkapp.png}} für neue Tk/ |
Attribute und Ereignisse eines Widgets werden im Objektinspektor konfiguriert. Anfangs werden nur die allerwichtigsten Attribute und Ereignisse angezeigt. Diese Filterung vereinfacht die Arbeit mit dem Objektinspektor. Man kann sich in zwei weiteren Stufen mehr beziehungsweise alle Attribute und Methoden anzeigen lassen. | Attribute und Ereignisse eines Widgets werden im Objektinspektor konfiguriert. Anfangs werden nur die allerwichtigsten Attribute und Ereignisse angezeigt. Diese Filterung vereinfacht die Arbeit mit dem Objektinspektor. Man kann sich in zwei weiteren Stufen mehr beziehungsweise alle Attribute und Methoden anzeigen lassen. | ||
Zeile 151: | Zeile 153: | ||
==== Frame==== | ==== Frame==== | ||
{{: | {{: | ||
- | Ein Frame ist ein Container für andere Widgets. Beispielsweise ist die RadiobuttonGroup ein Frame, der Radiobuttons enthält. Mit Frames kann man gut grafische Oberflächen strukturieren. | + | Ein Frame ist ein Container für andere Widgets. Beispielsweise ist die RadiobuttonGroup ein Frame, der Radiobuttons enthält. Mit Frames kann man gut grafische Oberflächen strukturieren. Zum Platzieren eines Widgets in einem Frame klickt man es in der TTK-Symbolleiste an und klickt dann in das Frame. |
- | Zum Platzieren eines Widgets in einem Frame klickt man es in der TTK-Symbolleiste an und klickt dann in das Frame. | + | Frames werden beispielsweise beim Notebook-Widget benutzt. |
---- | ---- | ||
==== LabelFrame ==== | ==== LabelFrame ==== | ||
Zeile 204: | Zeile 206: | ||
</ | </ | ||
- | Für die Menüeinträge werden | + | Für die Menüeinträge werden |
<code python> | <code python> | ||
Zeile 211: | Zeile 213: | ||
pass | pass | ||
</ | </ | ||
+ | ---- | ||
+ | ==== PopupMenu ==== | ||
+ | {{: | ||
+ | Ein PopupMenu ist ein Kontextmenu, | ||
+ | |||
+ | Man kann jedem Widget ein PopupMenu zuweisen. Dazu öffnet man im Objektinspektor die Registerkarte // | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In der dabei angelegten Ereignismethode programmiert man das Anzeigen des PopupMenüs an der angeklickten Position. | ||
+ | |||
+ | <code python> | ||
+ | def root_ButtonPress(self, | ||
+ | self.popupMenu1.post(event.x_root, | ||
+ | pass | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Menubutton ==== | ||
+ | {{: | ||
+ | Das PopupMenu muss zusätzlich angelegt und dann beim Attribut //Menu// des Menubuttons eingetragen werden. | ||
+ | ---- | ||
+ | ==== OptionMenu ==== | ||
+ | {{: | ||
+ | |||
+ | Auf die ausgewählte Option greift man über die Kontrollvariable CV zu. | ||
+ | |||
+ | <code python> | ||
+ | print(self.optionMenu1CV.get()) | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Notebook==== | ||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | ---- | ||
+ | ==== Treeview==== | ||
+ | {{: | ||
+ | |||
+ | Durch entsprechende Einrückung wird die Struktur über das Attribut //Items// festgelegt. Diese Struktur ist anfangs vorgegeben: | ||
+ | |||
+ | < | ||
+ | First | ||
+ | node A | ||
+ | node B | ||
+ | Second | ||
+ | node C | ||
+ | node D | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Progressbar ==== | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== Separator ==== | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== Sizegrip ==== | ||
+ | {{: | ||
---- | ---- |
de/tkk.1646396365.txt.gz · Zuletzt geändert: 2022/03/04 13:19 von roehner