Я пишу простую базу данных. На форме 5 кнопок, каждая из которых отвечат за свой фрейм. Клик на кнопке вызывает функцию, в которой все фреймы скрываются, а выбранный фрейм показывается. Все работает...
def table1():
forget_all()
f1.pack(fill=BOTH, expand=True)
def table2():
forget_all()
f2.pack(fill=BOTH, expand=True)
def table3():
forget_all()
f3.pack(fill=BOTH, expand=True)
def table4():
forget_all()
f4.pack(fill=BOTH, expand=True)
def table5():
forget_all()
f5.pack(fill=BOTH, expand=True)
def forget_all():
f1.pack_forget()
f2.pack_forget()
f3.pack_forget()
f4.pack_forget()
f5.pack_forget()
# def table(e):
# forget_all()
# e.pack(fill=BOTH, expand=True)
f1 = Frame(root)
f2 = Frame(root)
f3 = Frame(root)
f4 = Frame(root)
f5 = Frame(root)
Button(text="Таблица 1",command=table1).place(x=100, y=10)
Button(text="Таблица 2",command=table2).place(x=200, y=10)
Button(text="Таблица 3",command=table3).place(x=300, y=10)
Button(text="Таблица 4",command=table4).place(x=400, y=10)
Button(text="Таблица 5",command=table5).place(x=500, y=10)
Но я хочу вместо 5 разных функций сделать одну универсальную, которая получает имя фрейма (или его индекс), скрывает все фреймы, а потом показывает выбранный. Вот такую примерно функцию
def table(e):
forget_all()
e.pack(fill=BOTH, expand=True)
Вызывается
Button(text="Таблица 1",command=table(1)).place(x=100, y=10)
или
Button(text="Таблица 1",command=table(f1)).place(x=100, y=10)
...но я не понимаю как передывать (и получать) в функцию объект frame. Кто подскажет в какую сторону думать?