Я попытался создать окно с меню, и я хотел бы открыть дочернее окно из этого меню. Когда я запускаю программу, появляются следующие исключения:
Exception in Tkinter callback
Traceback (most recent call last):
File "\lib\tkinter__init__.py", line 1705, in call return self.func(*args)
File "\menu_child.py", line 19, in child_wnd win = Toplevel(self)
File "\lib\tkinter__init__.py", line 2342, in init BaseWidget.init(self, master, 'toplevel', cnf, {}, extra)
File \lib\tkinter__init__.py", line 2292, in init BaseWidget._setup(self, master, cnf)
File "\lib\tkinter__init__.py", line 2269, in _setup if master._last_child_ids is None:
AttributeError: 'MainWindow' object has no attribute '_last_child_ids'
Код выглядит так:
from tkinter import *
class MainWindow():
def __init__(self):
self.tk = Tk()
self.menu = Menu(self.tk)
self.tk.config(menu=self.menu)
self.main_menu = Menu(self.menu, tearoff=0)
self.main_menu.add_command(label="New Window", command=self.child_wnd)
self.main_menu.add_command(label="Empty")
self.main_menu.add_command(label="Useless")
self.menu.add_cascade(label="Main", menu=self.main_menu )
def child_wnd(self):
win = Toplevel(self)
if __name__ == '__main__':
main = MainWindow()
mainloop()
Может кто-нибудь объяснить мне, что происходит не так? Честно говоря, я понятия не имею, что делать. Спасибо