Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Geometrie in Tkinter effektiv verwalten, um meine GUI zu organisieren?

Wie kann ich die Geometrie in Tkinter effektiv verwalten, um meine GUI zu organisieren?

Patricia Arquette
Freigeben: 2024-12-07 04:50:15
Original
912 Leute haben es durchsucht

How Can I Effectively Manage Geometry in Tkinter to Organize My GUI?

Tkinter – Grundlagen des Geometriemanagements

Viele Fragen zu Tkinter fragen nicht nach Fehlern, sondern eher nach der Organisation der grafischen Benutzeroberfläche ( GUI). Dieser Artikel soll ein grundlegendes Verständnis der Geometrieverwaltung von Tkinter vermitteln und Anfängern bei der Organisation ihrer GUIs helfen.

Toplevel-Fensterkonfiguration

  • wm_geometry : Geben Sie die Größe und Position des Hauptfensters an Bildschirm.
  • wm_minsize, wm_maxsize: Legen Sie minimale oder maximale Größenbeschränkungen fest.
  • wm_resizable: Aktivieren oder deaktivieren Sie die Größenänderung durch den Benutzer.
  • wm_attributes: Konfigurieren Sie Attribute wie Topmost oder Vollbild.
  • pack_propagate, grid_propagate: Erforderliche Breite und Höhe von untergeordneten Widgets ignorieren.

Untergeordnete Elemente anordnen

Tkinter bietet drei Hauptgeometriemanager, um untergeordnete Widgets innerhalb eines anzuordnen Obere Ebene:

  • The Packer: Ordnet Widgets an den Rändern des übergeordneten Elements an.
  • The Placer: Korrigiert die genaue Größe und Größe von Widgets Position innerhalb des übergeordneten Elements.
  • The Gridder: Positioniert Widgets in Zeilen und Spalten innerhalb des übergeordneten Elements.

Managerspezifische Funktionen

Jeder Manager bietet einzigartige Funktionen:

Packer:

  • Füllen: Dehnen Widgets horizontal, vertikal oder beides.
  • erweitern: Füllen Sie den verfügbaren Platz im übergeordneten Element aus.
  • Seite: Steuern Sie die Seite des übergeordneten Widgets Widget richtet sich nach.
  • Anker: Positionieren Sie das Widget innerhalb seines Leerzeichen.

Placer:

  • relheight, relwidth: Geben Sie die Widget-Abmessungen relativ zum übergeordneten Element an.
  • Entspannen Sie sich, verlassen Sie sich: Widget relativ zum übergeordneten Element positionieren Mitte.

Raster:

  • Spaltenbereich, Zeilenbereich: Widgets über mehrere Spalten oder Zeilen verteilen.
  • klebrig: Positionieren Sie Widgets innerhalb ihrer Zellen.
  • grid_remove: Widget entfernen, ohne die Konfiguration zu verlieren.

Beispielverwendung

Bedenken Sie Folgendes Beispiel, das zeigt, wie die drei verwendet werden Manager:

import tkinter as tk

root = tk.Tk()

holderframe = tk.Frame(root, bg='red')
holderframe.pack()

display = tk.Frame(holderframe, width=600, height=25, bg='green')
display2 = tk.Frame(holderframe, width=300, height=145, bg='orange')
display3 = tk.Frame(holderframe, width=300, height=300, bg='black')
display4 = tk.Frame(holderframe, width=300, height=20, bg='yellow')
display5 = tk.Frame(holderframe, bg='purple')

# Arrange using Pack within `display`
display.pack()
b = tk.Button(display, width=10, text='b')
b1 = tk.Button(display, width=10, text='b1')
l = tk.Label(display, text='My_Layout', bg='grey')
b.pack(side='left')
b1.pack(side='left')
l.pack(fill='both', expand=1)

# Arrange using Grid within `display2`
display2.grid(column=0, row=1, sticky='n')
lab = tk.Label(display2, text='test2')
lab.grid(column=0, row=0)
# ... additional labels arranged in rows and columns using grid()

# Arrange using Place for `display5`
display5.place(x=0, y=170, relwidth=0.5, height=20)

root.mainloop()
Nach dem Login kopieren

Fazit

Wenn Sie die Grundlagen der Geometrieverwaltung von Tkinter und die Fähigkeiten jedes Managers verstehen, können Sie untergeordnete Widgets effektiv organisieren und anordnen Erstellen Sie funktionale und ästhetisch ansprechende GUIs.

Das obige ist der detaillierte Inhalt vonWie kann ich die Geometrie in Tkinter effektiv verwalten, um meine GUI zu organisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage