Tkinter Grid

Tkinter Grid
„Das Erstellen und Entwerfen einer GUI (grafische Benutzeroberfläche) mit einer Programmiersprache war noch nie einfacher. Die Tkinter -Bibliothek bietet jedoch einige unglaubliche und nützliche Funktionen, um GUI -Anwendungen schnell und einfach zu entwerfen und zu erstellen. Es bietet mehrere integrierte Funktionen, mit denen automatisch Widgets für eine GUI-Anwendung erstellt werden können. In diesem Handbuch werden wir die von der TKINGER -Bibliothek bereitgestellte Tkinter Grid () -Funktion untersuchen, um eine GUI -Anwendung zu entwerfen. Am Ende dieses Tutorials können Sie die Grid -Geometriefunktion in Ihrem Python -Programm verwenden.”

Was ist ein Tkinter -Gitter??

Im Allgemeinen ist das Raster ein Rahmen von Netzwerklinien, die sich gegenseitig überqueren und parallel zueinander sind und eine Reihe von rechteckigen oder quadratischen Fenstern erzeugen. Die von der Tkinter -Bibliothek bereitgestellte Gittergeometriefunktion folgt der gleichen Definition des Gitters.

Der Grid -Geometrie -Manager ist einer der flexibelsten, einfachsten und einfachsten Geometrie -Manager, die von der Tkinter -Bibliothek verteilt sind. Sie können die Widgets in eine zweidimensionale Tabelle legen. Es arrangiert die Zeilen und Spalten parallellell, um ein Widget aus einer quadratischen oder rechteckigen Form zu erstellen. Wenn Sie beispielsweise einen Griff von 2 × 2 Größe haben, sieht dies so aus:

Jeder Schnittpunkt von Säulen und Zeilen ist als „Zelle“ bekannt, das ein Widget enthalten kann. Eine Indexnummer (Zeile, Spalte) repräsentiert jede Zelle im Netz. Das 2 × 2 -Größenraster wird also durch (0, 0), (0, 1), (1, 0) und (1, 1) dargestellt. Standardmäßig haben die erste Zeile und die erste Spalte einen Null -Index, die zweite Zeile und die zweite Spalte haben 1 Index und so weiter.

Die Indizes des Netzes müssen nicht in einer Reihenfolge sein, und sie können auch Lücken haben. Zum Beispiel möchten Sie dem Raster verschiedene Widgets hinzufügen, sodass Ihr Netz wie (1, 1), (2, 3), (5, 1), (7, 7), (9, 8) und hinzufügen kann (10, 10).

Lassen Sie uns nun einige Codes schreiben, die uns helfen, die Grid -Geometriefunktion in unserem Python -Programm zu verwenden. Stellen Sie sicher, dass Sie diese Beispielprogramme für ein besseres Verständnis durchführen.

Beispiel 1

In diesem Fall zeigen wir Ihnen ein 2 × 2 -Gitter. Wir definieren die Etikett für jede Zelle als (0, 0), (0, 1), (1, 0) und (1, 1), um Ihnen zu zeigen, wie das Netz sie in Ordnung gebracht hat. Zunächst erstellen wir ein Root -Modul TK (), um eine Anzeigeumgebung zu erhalten. Danach werden wir die Funktion label () verwenden, um den Text für jede Zelle im Raster zu definieren. Und dann werden wir die Grid () -Funktion verwenden, um jede Label () in der Zelle eines Gitters () zu platzieren. Schauen Sie sich den unten angegebenen Code an:

vom Tkinter -Import *
von tkinter.TTK Import *
r = tk ()
L1 = Label (r, text = "(0,0)")
L2 = Label (r, text = "(0,1)")
L3 = Label (r, text = "(1,0)")
L4 = Label (r, text = "(1,1)")
L1.Grid (row = 0, Spalte = 0, Pady = 2)
L2.Raster (row = 0, Spalte = 1, pady = 2)
L3.Raster (Zeile = 1, Spalte = 0, Pady = 2)
L4.Raster (Zeile = 1, Spalte = 1, Pady = 2)
Hauptschleife()



Wenn Sie diesen Code ausführen. Hier ist das Ausgangspopfenster:

Beispiel 2

Lassen Sie uns ein Widget erstellen, das Eingaben vom Benutzer entnimmt. In diesem Beispiel werden wir das vorherige Beispiel erweitern und ein Widget gegen jede Spalte stecken, die Eingaben vom Benutzer entnimmt. Siehe den unten beigefügten Code.

Wie wir im vorherigen Beispiel erweitert haben, haben wir gerade die Funktion Entry () hinzugefügt, um das Eintrags -Widget in das Netz hinzuzufügen. Die von der Tkinter -Bibliothek bereitgestellte Eintragsfunktion () wird verwendet, um die Eingabe "einzeln. Nach der Funktion Enter () haben wir gerade die Grid () -Werte für die Eingangszellen definiert. Wenn Sie den obigen Code ausführen. In jeder Registerkarte können Sie eine Einzeilungszeichenfolge eingeben.

vom Tkinter -Import *
von tkinter.TTK Import *
r = tk ()
l1 = label (r, text = "erster Eintrag")
l2 = label (r, text = "zweiter Eintrag")
l3 = label (r, text = "dritter Eintrag")
L4 = Label (R, text = "Vierter Eintrag")
L1.Grid (row = 0, Spalte = 0, Pady = 2)
L2.Raster (Zeile = 2, Spalte = 0, Pady = 2)
L3.Raster (row = 0, Spalte = 1, pady = 2)
L4.Raster (Zeile = 2, Spalte = 1, Pady = 2)
E1 = Eintrag (R)
E2 = Eintrag (R)
E3 = Eintrag (R)
E4 = Eintrag (R)
E1.Raster (Zeile = 1, Spalte = 0, Pady = 2)
E2.Raster (Zeile = 3, Spalte = 0, Pady = 2)
E3.Raster (Zeile = 1, Spalte = 1, Pady = 2)
E4.Raster (Zeile = 3, Spalte = 1, Pady = 2)
Hauptschleife()



Siehe das Ausgangswidget des Netzes unten:


Die Funktion Eintrag () akzeptiert eine Zeilenzeichenfolge, die ein beliebiges Zeichen enthält. Es kann eine Nummer sein oder ein Symbol oder auch ein besonderer Charakter sein. Siehe das Ausgangsraster unten:

Beispiel 3

Im vorherigen Beispiel können Sie feststellen, dass wir eine separate Anweisung zum Erstellen jeder Zelle verwendet haben. Zum Beispiel brauchten wir ein 2 × 2 -Gitter, 4 Zellen in einem Raster, daher verwendeten wir 4 Codezeilen. Was ist, wenn wir ein 100 × 100 -Größenraster brauchen?? Erstellt ein 100 × 100 -Gitter 10.000 Codezeilen? Absolut nicht. Sie können das gleiche Ergebnis mit Schleifen erzielen. Es reduziert nicht nur die Codezeilen, sondern erhöht auch die Effizienz des Programms, wodurch die Wahrscheinlichkeit von Fehlern gleichzeitig verringert wird.

Hier werden wir eine verschachtelte für die Schleife verwenden, um ein Netz einer definierten Größe herzustellen. Wir definieren zwei für Schleifen, die durch 10 Zeilen und 10 Säulen iteriert werden, um ein 10 × 10 -Great -Raster zu erstellen. Lassen Sie uns den folgenden Code sehen:

Hier haben wir ein Root () -Modul definiert, um eine Anzeigeumgebung zu erhalten, und dann haben wir verschachtelt für Schleife für Zeile und Spalte, "für die Zeile im Bereich (10)" und "für col in Bereich (10)" ". Dies führt zu einem 10 × 10 -Größe. Die erste Schleife wird von 0 bis 9 iteriert, und die zweite Schleife wird ebenfalls von 0 bis 9 iteriert, wodurch ein 10 × 10 -Größenraster ist. Für das Drucken der Indexnummer für jede Zelle haben wir die Textfunktion der Labelfunktion (), "Text =" Row%s - col%s "verwendet, verwendet. Das „%S“ wird verwendet, um den Zellindex aus der Schleife zu erhalten.

Tkinter importieren
r = tkinter.Tk ()
Für Reichweite (10):
Für Col in Reichweite (10):
tkinter.Label (R, text = 'row%s - col%s'%(Row, col),
Grenzbreite = 1).Grid (row = row, column = col)
R.Hauptschleife()



Hier ist das 10 × 10 -Größe, das aus dem oben angegebenen Code generiert wird:

Abschluss

In diesem Artikel haben wir über die von der TKInter -Bibliothek bereitgestellte Grid () -Funktion erfahren. Die Gitterfunktion wird verwendet, um in einer Anzeigeumgebung ein quadratisches oder rechteckiges Gitter zu erstellen. Wir haben einige nützliche Beispiele gezeigt, mit denen Sie verstehen können, wie Sie eine Gitterfunktion in einem Python -Programm verwenden können.