4kpt_IIIСпасибо, стало понятно.
Еще решил попробовать сделать вкладочки и, почитав этот топик, кстати с вашими ответами:
http://python.su/forum/topic/21802/, написал вот это (фреймы специально не удаляются, а скрываются, т.к. к ним может быть обращение с других вкладок) :
import Tkinter
import ttk
def go(index, frobj, butobj):
global active
frobj[active].grid_remove()
frobj[index].grid(row = 0, column = 2, rowspan=10)
butobj[active].config(bg="white")
butobj[index].config(bg="yellow")
active = index
root=Tkinter.Tk()
but=[]
fr=[Tkinter.Frame(root) for x in range(5)]
Tkinter.Label(fr[0],text="I`m label").grid(row = 0, column = 0)
Tkinter.Frame(fr[1],bg="red", height=200, width=600).grid(row = 0, column = 0)
Tkinter.Button(fr[2],text="I`m button :D").grid(row = 0, column = 0)
Tkinter.Frame(fr[3],bg="yellow", height=100, width=200).grid(row = 0, column = 0)
Tkinter.Text(fr[4], height=10, width=20).grid(row = 0, column = 0)
for x in xrange(9):
if x%2 == 0:
but.append(Tkinter.Button(root, text="Button", command=lambda y=int(x/2), fr=fr: go(y,fr,but), bd=0, height=2, width=10, bg="white"))
but[int(x/2)].grid(row = x, column = 0)
else:
ttk.Separator(root, orient="horizontal").grid(row = x, column = 0, sticky="ew")
s = ttk.Separator(root, orient="vertical")
s.grid(row = 0, column = 1, rowspan=10, sticky="ns")
global active
active=1
go(0, fr, but)
root.mainloop()
Теперь вопросики:
- Как избавиться от global?
- Как убрать изменение размера окна при нажатии на кнопки? Нужно установить размер окна по максимальному из фреймов, размеры которых точно сказать невозможно.
- Как получить цвет стандартного фона? Есть такая функция в tkinter color, но я что-то её забыл.