所以我一直致力于一个小组项目,一些使用包和其他人使用网格作为布局管理器,我做了应用程序的一部分,将每个人的代码放在一起。
我一直在使用pack工作,我想要它做的是当我点击一个按钮时,会启动一个新的tk.Tk()窗口然后运行由其管理的代码网格。
这是一段代码,试图向您展示我正在做的事情,我不断收到错误"无法使用几何管理器网格。已经拥有由pack"
管理的奴隶def launchQuest(self, questType):
if(questType == "ham"):
ham = tk.Tk()
ham.configure(background='white')
app = HM(ham)
ham.mainloop()
如果你需要查看更多代码,那么到目前为止整个课程大约有400行,但我认为它不相关。
任何帮助都会很棒!
谢谢!
答案 0 :(得分:3)
根据我上面的第一条评论,答案是:
只有一个
Tk()
根窗口。如果你想要其他窗户, 使用Toplevel
小部件。
答案 1 :(得分:0)
在容器内一次只能使用一种定位(网格,包装或地点)。 Tk()为您提供了一个窗口(Toplevel),您可以使用它来包含其他窗口小部件,其中一些窗口小部件本身可以是容器,例如Frame。您可以将两个框架打包到一个窗口中,但是您无法打包一个框架并将另一个框架放入同一个窗口。此限制仅适用于一个深度 - 您可以放置一个框架,然后在其中打包一个框架,然后在其中包含网格,如果您愿意的话。使用什么方法来定位容器并不重要,只是在容器直接包含的东西的水平上。