Приложение с двумя кнопками для вызова функций в зависимости от предпочтений пользователя
Здравствуйте и спасибо заранее за вашу помощь! Я относительный новичок в tkinter и проработал несколько учебных пособий и несколько вопросов по переполнению стека. Однако я не смог произвести вывод функции обратного вызова в окне GUI после нажатия пользователем кнопки. Код, обрисованный в общих чертах ниже:
root = tk.Tk()
root.title('Crowdsourcing creativity')
class Application(tk.Frame):
Ниже я попытался создать полноэкранное приложение, которое можно закрыть с помощью клавиши ESC
def __init__(self, master=None):
super().__init__(master)
self.master = master
pad=3
master.geometry("{0}x{1}+0+0".format(
master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad))
master.bind('<Escape>',self.close_window)
self.pack()
self.create_widgets()
def close_window(self,event):
root.destroy()
Далее я создал две кнопки
def create_widgets(self):
prompt_button = tk.Button(self,text = 'Do something', command=self.give_prompt).pack(side=tk.LEFT)
location_button = tk.Button(self, text = 'Go somewhere', command=self.give_location).pack(side=tk.RIGHT)
Наконец, я попытался определить функции обратного вызова для кнопок. Обратите внимание, что prompt () и location () относятся к функциям, определенным ранее в коде (по сути, возвращают случайный элемент из соответствующих списков).
def give_prompt(self):
label1 = Label(self, prompt())
label1.pack()
def give_location(self):
label2 = Label(self, location())
label2.pack()
app = Application(master=root)
app.mainloop()
Вывод в настоящее время появляется в терминале, где я запускаю код , а не GUI. Я также хотел бы, чтобы оригинальные кнопки исчезали при нажатии, чтобы выходной сигнал был единственным, что осталось в GUI. Любые предложения о том, как это исправить, с благодарностью! Спасибо