Hi Arp
Arp hat geschrieben:Aber bei pack() kann ich ja nur 4 richtungsvorgaben setzen... wie kann ich da z.b. sagen das die canvas oben links ist, nicht nur links oder oben
Es ist relativ einfach:
Code: Alles auswählen
import Tkinter as tk
app_win = tk.Tk()
app_win.geometry('300x300')
canvas = tk.Canvas(app_win, bg='steelblue', width=100, height=100)
canvas.pack(anchor='nw')
app_win.mainloop()
Arp hat geschrieben:Bei grid() blick auch nicht so recht durch. Wenn ich das große canvas auf (row,column) = (0,0) setze, ist es zwar da wo es sein soll, aber der rest passt nicht wirklich, auch wenn ich columnspan und rowspan benutze. Ich brauche hierbei also etwas hilfe

Hier eine kleine Grid-Studie, welche evtl noch verbessert werden kann:
Code: Alles auswählen
#~~ Studie mit dem Grid-Manager
import Tkinter as tk
BORDER = 60
FRAME_COLOR = 'gray'
app_win = tk.Tk()
app_win.geometry('300x300')
main_frame = tk.Frame(app_win)
main_frame.grid(row=0, column=0, columnspan=3, rowspan=3,
sticky='nesw')
main_frame.grid_rowconfigure(0, weight=0)
main_frame.grid_columnconfigure(0, weight=0)
main_frame.grid_rowconfigure(1, weight=1)
main_frame.grid_columnconfigure(1, weight=1)
main_frame.grid_rowconfigure(2, weight=0)
main_frame.grid_columnconfigure(2, weight=0)
frame_01 = tk.Frame(main_frame, height=BORDER, bg=FRAME_COLOR)
frame_01.grid(row=0, column=0, columnspan=3, sticky='we')
button_01 = tk.Button(main_frame, text='B-1')
button_01.grid(row=0, column=1)
frame_02 = tk.Frame(main_frame, width=BORDER, bg=FRAME_COLOR)
frame_02.grid(row=1, column=0, sticky='ns')
button_02 = tk.Button(main_frame, text='B-2')
button_02.grid(row=1, column=0)
canvas = tk.Canvas(main_frame, bg='steelblue', highlightthickness=0)
canvas.grid(row=1, column=1, sticky='nesw')
frame_03 = tk.Frame(main_frame, width=BORDER, bg=FRAME_COLOR)
frame_03.grid(row=1, column=2, sticky='ns')
button_03 = tk.Button(main_frame, text='B-3')
button_03.grid(row=1, column=2)
frame_04 = tk.Frame(main_frame, height=BORDER, bg=FRAME_COLOR)
frame_04.grid(row=2, column=0, columnspan=3, sticky='we')
button_04 = tk.Button(main_frame, text='B-4')
button_04.grid(row=2, column=1)
app_win.grid_rowconfigure(0, weight=2)
app_win.grid_columnconfigure(0, weight=2)
app_win.mainloop()
Hier einige Links:
Pack:
http://effbot.org/tkinterbook/pack.htm
Grid:
http://effbot.org/tkinterbook/grid.htm
Place:
http://effbot.org/tkinterbook/place.htm
Gruß wuf
