здравствуйте. творю программу, все события происходят в одном окне. после нажатия на любую кнопку сейчас происходит удаление всех виджетов и создание новых, которые всегда включают в себя "назад" - возвращение к предыдущим. так вот. как правильно организовать событие кнопки "назад", если повторное создание всех виджетов не возможно и не логично (из - за событий, включающих в себя ЕЩЕ события и тд. и тп.)?
п.с.: где - то видел, что можно использовать pack - pack_forget, но не выходит. если это все же является подходящим вариантом, то, пожалуйста, помогите внедрить его в код так, чтобы тот работал.
сама программа в сокращении:
from tkinter import *
def destroyER_MAIN_MENU():
destroy_object_1 = [label_TEXT_MM, button_GO_LEAN, button_DIDA, button_EXIT]
for object_name_1 in destroy_object_1:
object_name_1.destroy()
ROOT.title("SCHCode")
ROOT.geometry("650x450+350+120")
ROOT.resizable(False, False)
text_MAIN_MENU = "SCHCode - ...текст..."
label_TEXT_MM = Label(text=text_MAIN_MENU, width = 50, )
label_TEXT_MM.place(relx=.450, rely=.20)
button_GO_LEAN = Button(ROOT, text ="УЧИТЬ ЯЗЫКИ", pady="10", padx="77", command=destroyER_MAIN_MENU)
def fun(event):
def destroyER_MENU_GO_LEAN():
destroy_object_2 = [button_PASCAL_1, button_PASCAL_2, button_PYTHON_1, button_PYTHON_2, button_NAZAD_VIBOR_YAZIKA]
for object_name_2 in destroy_object_2:
object_name_2.destroy()
button_PASCAL_1 = Button(ROOT, text="PASCAL - ПЕРВЫЙ ЭТАП", pady="10", padx="30", command=destroyER_MENU_GO_LEAN)
button_PASCAL_1.pack(x=20, y=80)
button_PASCAL_2 = Button(ROOT, text="PASCAL - ВТОРОЙ ЭТАП", pady="10", padx="30", command=destroyER_MENU_GO_LEAN)
button_PASCAL_2.pack(x=20, y=160)
button_PYTHON_1 = Button(ROOT, text="PYTHON - ПЕРВЫЙ ЭТАП", pady="10", padx="30", command=destroyER_MENU_GO_LEAN)
button_PYTHON_1.pack(x=20, y=240)
button_PYTHON_2 = Button(ROOT, text="PYTHON - ВТОРОЙ ЭТАП", pady="10", padx="30", command=destroyER_MENU_GO_LEAN)
button_PYTHON_2.pack(x=20, y=320)
button_NAZAD_VIBOR_YAZIKA = Button(ROOT, text="НАЗАД", pady="10", padx="20", command=destroyER_MENU_GO_LEAN)
button_NAZAD_VIBOR_YAZIKA.place(x=555, y=400)
def fun(event):
button_EXIT.pack()
button_NAZAD_VIBOR_YAZIKA.bind("<Button-1>", fun)
button_GO_LEAN.bind("<Button-1>", fun)
button_GO_LEAN.pack(x=20, y=95)
#следующая кнопка
button_DIDA = Button(ROOT, text ="ДИДАКТИЧЕСКИЕ МАТЕРИАЛЫ", pady="10", padx="30", command=destroyER_MAIN_MENU)
button_DIDA.pack(x=20, y=190)
button_EXIT = Button(ROOT, text ="ВЫХОД", pady="10", padx="97", command=ROOT.destroy)
button_EXIT.pack(x=20, y=285)
ROOT.mainloop()
п.с.(х2): и было бы очень здорово, если вы подскажите мне мои ошибки.