В Tkinter в классе меню не запускаются подменю
В игровом приложении, написанном с помощью библиотеки Python, удалось отладить весь функционал кроме запуска строчки меню. Она открывается, однако увидеть, что скрывает подменю, не выходит.
С чем это может быть связано?
P.S. Без классов код работает. Привожу его в сокращенном виде - только класс меню
import time
import tkinter as tk
from tkinter import messagebox
# class ProgrammMenu(tk.Frame):
class ProgrammMenu():
def __init__(self, main):
# tk.Frame.__init__(self, main)
self.main = main
self.frame_menu = tk.Frame(
master=self.main,
relief=tk.RIDGE,
borderwidth=5
)
# добавим пункт меню с соответствующими вкладками
self.mainmenu = tk.Menu(self.frame_menu)
self.main.config(menu=self.mainmenu)
self.helpmenu = tk.Menu(self.mainmenu, tearoff=0)
self.helpmenu.add_command(label='Справка', command=self.edit_click_help, underline=5)
self.helpmenu.add_command(label='О разработчике', command=self.edit_click_developer, underline=5)
self.mainmenu.add_cascade(label='О программе',
menu=self.helpmenu)
# определим функции реагирования на нажатие кнопок меню
def edit_click_help(self):
self.messagebox.showinfo('Справка', 'Задайте вопрос шару -\nи он ответит. \nОбучите шар, чтобы он стал умнее')
def edit_click_developer(self):
self.messagebox.showinfo('О разработчике', 'Разработчик программы \nВасилий Пупкин')
self.frame_menu.grid(
row=0, column=0,
padx=5, pady=5
)
if __name__ == '__main__':
window = tk.Tk()
window.title('Магический шар')
window.resizable(0, 0)
window.wm_attributes('-topmost', 1)
menu_sphere = ProgrammMenu(window)
window.update()
window.mainloop()
