Python 在tkinter中同时使用.pack()和.grid()

Python 在tkinter中同时使用.pack()和.grid(),python,user-interface,tkinter,widget,Python,User Interface,Tkinter,Widget,我有一个包含一些Label()小部件、一些Button()小部件、一些Text()小部件和一些Entry()小部件的程序。几次修订之前,我没有标签,我的Entry()小部件也少了,我混合了.pack()和.grid(),这很方便,而且我很好。我不得不进行一些重构,并在过程中添加了额外的小部件——所有添加的新部件都使用了.grid()。其他小部件没有任何变化。现在,我得到了一个“无法在中使用网格”之类的错误(如有必要,我可以发布完整的错误消息)。为什么,我该如何解决这个问题?(如果有必要,我也可以

我有一个包含一些Label()小部件、一些Button()小部件、一些Text()小部件和一些Entry()小部件的程序。几次修订之前,我没有标签,我的Entry()小部件也少了,我混合了.pack()和.grid(),这很方便,而且我很好。我不得不进行一些重构,并在过程中添加了额外的小部件——所有添加的新部件都使用了.grid()。其他小部件没有任何变化。现在,我得到了一个“无法在中使用网格”之类的错误(如有必要,我可以发布完整的错误消息)。为什么,我该如何解决这个问题?(如果有必要,我也可以发布代码。)

您不能将
网格
打包
与共享同一父级的小部件混合使用

为什么??因为
grid
将尝试布局小部件,可能会根据各种选项增加或缩小小部件。接下来,
pack
将根据其规则尝试执行相同的操作。这可能需要更改小部件的宽度或高度


grid
将看到小部件的大小已更改,因此它将尝试根据其规则重新排列小部件
pack
然后会注意到一些小部件已经改变了大小,因此它会根据其规则重新排列小部件
grid
将看到小部件的大小已更改,因此它将尝试根据其规则重新排列小部件
pack
然后会注意到一些小部件已经改变了大小,因此它会根据其规则重新排列小部件<代码>网格将看到…

您能解释一下“家长”是什么意思吗?抱歉,我对tkinter真的很陌生。@heather有些人和文档使用“master”这个词。小部件存在于树状层次结构中。除了根小部件之外,每个小部件都有一个父部件。@BrianOakley您介意列出我正在使用的小部件的父部件吗?@heather:您没有显示任何代码,所以不,我不能。如果您没有显式设置父窗口(您应该这样做),那么父窗口就是根窗口。如果您没有显式创建根窗口(您应该),那么会为您创建一个。好吧,那么基本上我需要为包和网格小部件设置不同的父窗口-我创建了一个根窗口,但没有显式创建父窗口。