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.