Erweitern mit Gewichtungen in Tkinter
In Tkinter steuert das Konzept der Gewichtungen, wie der verfügbare Platz innerhalb eines Layouts auf Spalten und Zeilen verteilt wird . Jede Zeile oder Spalte verfügt über eine Gewichtsrasteroption, die bestimmt, um wie viel sie erweitert werden soll, wenn zusätzlicher Platz vorhanden ist.
Die Standardgewichtung
Standardmäßig haben alle Zeilen und Spalten eine Gewichtung von 0, was bedeutet, dass sie sich nicht ausdehnen sollten, um Platz zu füllen. Dies bedeutet, dass zusätzlicher Speicherplatz ungenutzt bleibt.
Hinzufügen von Gewichtungen
Eine Gewichtung ungleich Null führt dazu, dass eine Zeile oder Spalte wächst, wenn zusätzlicher Platz vorhanden ist. Der Wert der Gewichtung bestimmt, wie stark sie sich im Verhältnis zu anderen gewichteten Elementen ausdehnen soll. Beispielsweise weist eine Gewichtung von 1 doppelt so viel Speicherplatz zu wie eine Gewichtung von 0,5.
Codebeispiel
Betrachten Sie den folgenden Code:
import tkinter as tk
root = tk.Tk()
root.geometry("200x100")
f1 = tk.Frame(root, background="bisque", width=10, height=100)
f2 = tk.Frame(root, background="pink", width=10, height=100)
f1.grid(row=0, column=0, sticky="nsew")
f2.grid(row=0, column=1, sticky="nsew")
root.grid_columnconfigure(0, weight=0) # no extra space for column 0
root.grid_columnconfigure(1, weight=0) # no extra space for column 1
root.mainloop()
Dieser Code erstellt ein Fenster, das größer als die enthaltenen Frames ist. Da keine der Spalten eine Gewichtung aufweist, bleibt der zusätzliche Platz ungenutzt.
Verwenden von Gewichtungen zum Erweitern
Das Hinzufügen von Gewichtung zu einer Spalte oder Zeile ermöglicht die Erweiterung ins Zusätzliche Raum. Der folgende Code gibt beispielsweise der Spalte 0 eine Gewichtung von 1:
root.grid_columnconfigure(0, weight=1)
Jetzt wird der zusätzliche Platz der Spalte 0 zugewiesen , wodurch es breiter wird.
Mehrere Elemente gewichten
Wenn mehrere Spalten oder Zeilen Gewichtungen haben, teilen sie sich den verfügbaren Platz proportional zu ihren Gewichten. Um beispielsweise 1/4 des Platzes der Spalte 0 und 3/4 der Spalte 1 zuzuweisen, können Sie die folgenden Gewichtungen verwenden:
root.grid_columnconfigure(0, weight=1)
root.grid_columnconfigure(1, weight=3)
Dies führt zu einem Layout, bei dem Spalte 0 ein Viertel der Breite von Spalte 1 hat.
Fazit
Gewichte in Tkinter bieten eine Möglichkeit, die Raumverteilung innerhalb eines Layouts zu steuern. Durch die Zuweisung von Gewichtungen zu Spalten oder Zeilen können Sie bestimmen, wie der verfügbare Platz genutzt wird, was flexible und reaktionsfähige Layouts ermöglicht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3