Tk - Widgets Übersicht
Die Grundkomponente einer Tk-basierten Anwendung wird als Widget bezeichnet. Eine Komponente wird manchmal auch als Fenster bezeichnet, da in Tk "Fenster" und "Widget" häufig synonym verwendet werden. Tk ist ein Paket, das eine Vielzahl grafischer Komponenten zum Erstellen grafischer Anwendungen mit Tcl bietet.
Tk bietet eine Reihe von Widgets, die von einfachen GUI-Widgets wie Schaltflächen und Menüs bis hin zu Widgets für die Datenanzeige reichen. Die Widgets sind sehr konfigurierbar, da sie Standardkonfigurationen haben, die ihre Verwendung vereinfachen.
Tk-Anwendungen folgen einer Widget-Hierarchie, in der eine beliebige Anzahl von Widgets in einem anderen Widget und diese Widgets in einem anderen Widget platziert werden können. Das Haupt-Widget in einem Tk-Programm wird als Root-Widget bezeichnet und kann durch Erstellen einer neuen Instanz der TkRoot-Klasse erstellt werden.
Widget erstellen
Die Syntax zum Erstellen eines Widgets ist unten angegeben.
type variableName arguments options
Der Typ hier bezieht sich auf den Widget-Typ wie Schaltfläche, Beschriftung usw. Argumente können optional sein und basierend auf der individuellen Syntax jedes Widgets erforderlich sein. Die Optionen reichen von der Größe bis zur Formatierung jeder Komponente.
Widget-Namenskonvention
Widget verwendet eine ähnliche Struktur wie das Benennen von Paketen. In Tk wird das Stammfenster mit einem Punkt (.) Benannt und ein Element im Fenster, beispielsweise die Schaltfläche, heißt .myButton1. Der Variablenname sollte mit einem Kleinbuchstaben, einer Ziffer oder einem Satzzeichen beginnen (außer einem Punkt). Nach dem ersten Zeichen können andere Zeichen Groß- oder Kleinbuchstaben, Zahlen oder Satzzeichen sein (außer Punkte). Es wird empfohlen, zum Starten des Etiketts einen Kleinbuchstaben zu verwenden.
Farbbenennungskonvention
Die Farben können mit Namen wie Rot, Grün usw. deklariert werden. Es kann auch eine hexadezimale Darstellung mit # verwendet werden. Die Anzahl der hexadezimalen Ziffern kann 3, 6, 9 oder 12 sein.
Dimensionskonvention
Die Standardeinheit ist Pixel und wird verwendet, wenn keine Dimension angegeben wird. Die anderen Abmessungen sind i für Zoll, m für Millimeter, c für Zentimeter und p für Punkte.
Allgemeine Optionen
Allen Widgets stehen so viele gemeinsame Optionen zur Verfügung, die in der folgenden Tabelle aufgeführt sind:
Sr.Nr. | Syntax & Beschreibung |
---|---|
1 | -background color Dient zum Festlegen der Hintergrundfarbe für das Widget. |
2 | -borderwidth width Wird zum Zeichnen mit Rahmen in 3D-Effekten verwendet. |
3 | -font fontDescriptor Dient zum Festlegen der Schriftart für das Widget. |
4 | -foreground color Dient zum Festlegen der Vordergrundfarbe für das Widget. |
5 | -height number Wird verwendet, um die Höhe für das Widget festzulegen. |
6 | -highlightbackground color Dient zum Festlegen des Farbrechtecks zum Zeichnen um ein Widget, wenn das Widget keinen Eingabefokus hat. |
7 | -highlightcolor color Dient zum Festlegen des Farbrechtecks zum Zeichnen um ein Widget, wenn das Widget einen Eingabefokus hat. |
8 | -padx number Legt den Padx für das Widget fest. |
9 | -pady number Legt das Pady für das Widget fest. |
10 | -relief condition Legt das 3D-Relief für dieses Widget fest. Der Zustand kann erhöht, eingefallen, flach, kammig, fest oder gerillt sein. |
11 | -text text Legt den Text für das Widget fest. |
12 | -textvariable varName Mit dem Widget verknüpfte Variable. Wenn sich der Text des Widgets ändert, wird die Variable mit dem Text des Widgets festgelegt. |
13 | -width number Legt die Breite für das Widget fest. |
Ein einfaches Beispiel für Optionen ist unten dargestellt.
#!/usr/bin/wish
grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
-padx 100 -pady 100
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe.
Die Liste der verfügbaren Widgets ist unten kategorisiert -
Grundlegende Widgets
Sr.Nr. | Widget & Beschreibung |
---|---|
1 | Label Widget zum Anzeigen einer einzelnen Textzeile. |
2 | Button Widget, das anklickbar ist und eine Aktion auslöst. |
3 | Entry Widget zum Akzeptieren einer einzelnen Textzeile als Eingabe. |
4 | Message Widget zum Anzeigen mehrerer Textzeilen. |
5 | Text Widget zum Anzeigen und optionalen Bearbeiten mehrerer Textzeilen. |
6 | Toplevel Fenster mit allen vom Fenstermanager bereitgestellten Rändern und Dekorationen. |
Layout-Widgets
Sr.Nr. | Widget & Beschreibung |
---|---|
1 | Frame Container-Widget für andere Widgets. |
2 | Place Widget zum Speichern anderer Widgets an einem bestimmten Ort mit Koordinaten seines Ursprungs und einer genauen Größe. |
3 | Pack Einfaches Widget zum Organisieren von Widgets in Blöcken, bevor sie im übergeordneten Widget platziert werden. |
4 | Grid Widget zum Verschachteln von Widgets, die in verschiedene Richtungen verpackt sind. |
Auswahl-Widgets
Sr.Nr. | Widget & Beschreibung |
---|---|
1 | Radiobutton Widget mit einer Reihe von Ein / Aus-Schaltflächen und Beschriftungen, von denen eine ausgewählt werden kann. |
2 | Checkbutton Widget mit einer Reihe von Ein / Aus-Schaltflächen und Beschriftungen, von denen viele ausgewählt werden können. |
3 | Menu Widget, das als Halter für Menüelemente fungiert. |
4 | Listbox Widget, das eine Liste von Zellen anzeigt, von denen eine oder mehrere ausgewählt werden können. |
Mega Widgets
Sr.Nr. | Widget & Beschreibung |
---|---|
1 | Dialog Widget zum Anzeigen von Dialogfeldern. |
2 | Spinbox Widget, mit dem Benutzer Zahlen auswählen können. |
3 | Combobox Widget, das einen Eintrag mit einer Liste von Auswahlmöglichkeiten kombiniert. |
4 | Notebook Widget mit Registerkarten, mit dessen Hilfe Sie mithilfe einer Indexregisterkarte zwischen mehreren Seiten wechseln können. |
5 | Progressbar Widget, um visuelles Feedback zum Fortschritt eines langen Vorgangs wie dem Hochladen von Dateien zu geben. |
6 | Treeview Widget zum Anzeigen und Durchsuchen einer Hierarchie von Elementen in Form eines Baums. |
7 | Scrollbar Scrollen von Widgets ohne Text- oder Canvas-Widgets. |
8 | Scale Skalieren Sie das Widget, um einen numerischen Wert über Schieberegler auszuwählen. |
Andere Widgets
Sr.Nr. | Widget & Beschreibung |
---|---|
1 | Canvas Zeichen-Widget zum Anzeigen von Grafiken und Bildern. |
Wir werden jedes dieser Widgets in den kommenden Kapiteln behandeln.