Seite 1 von 1

Tkinter GridManager: Buttons in 2-Spalten West und East

Verfasst: Sonntag 22. April 2007, 14:45
von droptix
Möchte zwei nebeneinander stehende Buttons unter meine Applikation packen. Standardmäßig werden Inhalte beim GridManager immer zentriert:

Bild

Ich möchte aber die Buttons jeweils links und rechts (also West und East) am Fensterrand haben. Der Platz zwischen den Buttons muss also aufgefüllt werden. Wie erreiche ich das? Meine `sticky`-Angaben wirken sich nicht aus, genauso wenig wie meine `width`-Angabe für das Master-Frame. Im folgenden der vereinfachte Code:

Code: Alles auswählen

#-*- coding: iso-8859-1 -*-

import Tkinter

# window
root = Tkinter.Tk()
root.grid()
# master frame
master = Tkinter.Frame(root, width=100)
master.grid()
# buttons
btn1 = Tkinter.Button(master, text="Beenden")
btn1.grid(row=0, column=0, sticky=Tkinter.W)
btn2 = Tkinter.Button(master, text="Start")
btn2.grid(row=0, column=1, sticky=Tkinter.E)
# mainloop
root.mainloop()

Verfasst: Sonntag 22. April 2007, 16:48
von Fredi Hartmann

Code: Alles auswählen

# master frame
master = Tkinter.Frame(root,width=400)
master.grid(sticky=N+W+S+E)
master.winfo_toplevel().columnconfigure(0,weight=1)
master.columnconfigure(0,weight=1)
master.columnconfigure(1,weight=1)
...

Verfasst: Sonntag 22. April 2007, 21:08
von droptix
Hum, was passiert da? `winfo_toplevel()` und `columnconfigure()` kenn ich gar nicht :D Für das vereinfachte Beispiel klappt das, aber nicht für meine Applikation.

Verfasst: Sonntag 22. April 2007, 21:47
von Fredi Hartmann
http://effbot.org/tkinterbook/grid.htm

Dort ist eigentlich alles nachzulesen was man über Grids wissen muss.