Wozu ein Parrent

Fragen zu Tkinter.
Antworten
Satzende
User
Beiträge: 70
Registriert: Samstag 8. Januar 2011, 12:41

Hallo

Hab mal eine Frage. Wozu muss man bei einem Widget einen Parrent angeben, wenn es auch ohne geht ?

Code: Alles auswählen

root = Tkinter.Tk()

Tkinter.Button(text="KO").pack()
Tkinter.Label(text="Hallo Welt").pack()
root.mainloop()
BlackJack

@Satzende: Das geht so lange gut, bis es eben nicht mehr gut geht. Frag mich jetzt nicht nach den konkreten Problemen, aber wir hatten hier schon mal welche, die darauf zurück zu führen waren.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Warum auch immer es ohne die Angabe eines parent-Objekts (man schreibt es übrigens mit einem r und nicht mit zwei) hier funktioniert, wird es bei verschachtelten Elementen wichtig (was auch sofort vorliegt, sobal ein Steuerelement in das Hauptfenster kommt). Auf diesem Weg kann zum Beispiel festgestellt werden, wann welches Objekt gezeichnet werden muss oder wie groß ein Widget sein muss, damit alle darin enthaltenen Objekte hineinpassen.
Das Leben ist wie ein Tennisball.
yipyip
User
Beiträge: 418
Registriert: Samstag 12. Juli 2008, 01:18

Das Parent-Objekt kann man sich als Container vorstellen, in das man weitere Widgets packen kann. So lassen sich komplexe Layouts in hierarchischer Form aufbauen. Ein kleines Beispiel:

Code: Alles auswählen

import Tkinter as tk

root = tk.Tk()
root.geometry("200x200")

# kein parent angegeben, also im root container
but0 = tk.Button(text="but0")
but0.pack(side="left")
 
but1 = tk.Button(text="but1")
but1.pack(side="left")

frame = tk.Frame()
# im frame container
but3 = tk.Button(frame, text="but3")
but3.grid(row=0, column=0)
 
but4 = tk.Button(frame, text="but4")
but4.grid(row=1, column=0)

frame.pack(side="right")

root.mainloop()
Antworten