Я уже посмотрел на многие вопросы и ответы:
Никто не обладает необходимой информацией или не может ответить на мой вопрос.
Вот класс в моем приложении.Это окно вызывается, когда пользователь нажимает кнопку «Мексиканская» в качестве выбора блюд на предыдущей странице.На этой странице пользователю предоставляется 3 варианта:
- ДА - пользователю нравится выбор ресторана, и приложение закрывается
- ПОПРОБУЙТЕ - пользователь все еще хочет мексиканскую еду, но не выбордано
- Я больше не хочу мексиканца - говорит само за себя и возвращается к выбору типа ресторана
Мой вопрос касается опции «ПОПРОБУЙТЕ СНОВА».Я пробовал Tk.update, создавая функцию обновления, вызовы функций lamba, например command=lambda: controller.show_frame(MexicanRest)
, но ничто не обновляет текущую страницу и не позволяет снова вызвать команду mex_choice = random.choice(mexican_rest)
и выбрать новый ресторан из списка mexican_rest
определены.
Вы увидите, где я отметил "# ЧТО ЗДЕСЬ ОБНОВЛЯЕТСЯ?" Пожалуйста, сообщите ...
class MexicanRest(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
label = tk.Label(self, text="Mexican Restaurant",
font=('century gothic', 24))
label.pack(pady=10, padx=10)
mex_choice = random.choice(mexican_rest)
label = tk.Label(self,
text="How does %s sound? " %mex_choice,
bg='yellow',
font=('times', 24),
fg='red')
label.pack()
button1 = tk.Button(self,
text='YES',
width=20,
command=quit)
button1.pack(fill=tk.BOTH)
button2 = tk.Button(self,
text='TRY AGAIN',
width=20,
command=self.refresh) #WHAT GOES HERE TO REFRESH???
button2.pack(fill=tk.BOTH)
button3 = tk.Button(self,
text='I Don\'t Want Mexican Anymore',
#width=20,
command=lambda: controller.show_frame(StartPage))
button3.pack(fill=tk.BOTH)
def refresh(self):
MexicanRest.update(self)