アプリケーションの一部として Tkinter で GUI を作成しています。「Menu」をサブクラス化するクラス「XMLMenu」を作成しましたが、パックしようとすると TclError が発生します。外観は次のとおりです。
class XMLMenu(Menu):
def __init__(self,master,text, **kw):
Menu.__init__(self,master, kw)
#Irrelevent code in which I read an XML file to build the menu
self.pack(side=TOP,fill=X)
そして、次のエラーが表示されます。
Traceback (most recent call last):
File "E:\Portable Python 2.7.3.1\App\lib\threading.py", line 551, in __bootstrap_inner
self.run()
File "E:\Portable Python 2.7.3.1\App\lib\threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
File "xlistr\gui.py", line 62, in create
app=constructor(root)
File "xlistr\gui.py", line 84, in __init__
self.menu=xmlMenu_by_filename(self,"xlistr/data/feMenu.xml")
File "xlistr\gui.py", line 23, in xmlMenu_by_filename
return XMLMenu(master,read_file(filename))
File "xlistr\gui.py", line 52, in __init__
self.pack(side=TOP,fill=X)
File "E:\Portable Python 2.7.3.1\App\lib\lib-tk\Tkinter.py", line 1806, in pack_configure
+ self._options(cnf, kw))
TclError: can't pack ".26194928.31816720": it's a top-level window