#python #python_3x #tkinter
Каким образом можно полностью удалить все виджеты которые присутствуют в окне tkinter на примере данного кода: from tkinter import * tk = Tk() tk.title('Разрушители') main_lbl = Label(tk, text='Приветствую в "Разрушителях"', fg='red', font='Arial 20') wellcome_lbl = Label(tk, text='Бродя по лесу ты наткнулся на своего первого противника - ' 'ВОЛКА \n эти опасные твари никогда не отступают , так что В БОЙ!!!!!', fg='black', font='Arial 20') next_btn=Button(tk, text='Далее', width=30, height=5, font=20) def next1(event): pass #Как сделать что бы кнопка всё удаляла? next_btn.bind(tk, next1) main_lbl.pack() wellcome_lbl.pack() next_btn.pack() tk.mainloop()
Ответы
Ответ 1
при помощи функции dectroy можно уничтожить объекты. Пример на вашем коде: from tkinter import * def next_1(): destroy_object = [welcome_lbl, main_lbl, next_btn] for object_name in destroy_object: object_name.destroy() tk = Tk() tk.title('Разрушители') main_lbl = Label(tk, text='Приветствую в "Разрушителях"', fg='red', font='Arial 20') welcome_lbl = Label(tk, text='Бродя по лесу ты наткнулся на своего первого противника - ВОЛКА' '\n эти опасные твари никогда не отступают, так что В БОЙ!!!!!', fg='black', font='Arial 20') next_btn = Button(tk, text='Далее', width=30, height=5, font=20, command=next_1) main_lbl.pack() welcome_lbl.pack() next_btn.pack() tk.mainloop() Так же если в дальнейшем будете пользоваться теми виджетами которые хотите "временно скрыть" можно вместо .pack() использовать.grid() и при помощи winfo.viewable() скрывать объекты и заново делать видимыми. Пример from tkinter import * def next_1(): destroy_object = [welcome_lbl, main_lbl] for object_name in destroy_object: if object_name.winfo_viewable(): object_name.grid_remove() else: object_name.grid() tk = Tk() tk.title('Разрушители') main_lbl = Label(tk, text='Приветствую в "Разрушителях"', fg='red', font='Arial 20') welcome_lbl = Label(tk, text='Бродя по лесу ты наткнулся на своего первого противника - ВОЛКА' '\n эти опасные твари никогда не отступают, так что В БОЙ!!!!!', fg='black', font='Arial 20') next_btn = Button(tk, text='Далее', width=30, height=5, font=20, command=next_1) main_lbl.grid() welcome_lbl.grid() next_btn.grid() tk.mainloop()
Комментариев нет:
Отправить комментарий