gpt4 book ai didi

python - 为什么我无法打包这个 Tkinter 菜单小部件?

转载 作者:行者123 更新时间:2023-11-30 23:36:00 25 4
gpt4 key购买 nike

我正在 Tkinter 中构建一个 GUI 作为我的应用程序的一部分,并且我编写了一个类“XMLMenu”,它是“Menu”的子类,但是当我尝试打包它时,我收到了 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

最佳答案

菜单不是用几何管理器放置的,而是在相应的窗口中配置的:

class XMLMenu(Menu):
def __init__(self,master,text, **kw):
Menu.__init__(self, master, kw)
master.config(menu=self)
# ...

关于python - 为什么我无法打包这个 Tkinter 菜单小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com