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

Using .pack() and .grid() at the same time with tkinter

我有一个程序,其中包含一些 Label() 小部件、一些 Button() 小部件、一些 Text() 小部件和一些 Entry() 小部件。几次修订之前,我没有标签,我的 Entry() 小部件也更少,我混合使用 .pack() 和 .grid() 很方便,我很好。我不得不进行一些重构,并在此过程中添加了额外的小部件——所有添加的新东西都使用了 .grid()。其他小部件没有任何变化。现在,我收到了 "unable to use grid in ." 等行的错误(如有必要,我可以 post 完整的错误消息)。为什么,我该如何解决这个问题? (如果需要,我也可以 post 编码。)

您不能将 gridpack 与共享同一父级的小部件混合使用。

为什么?因为 grid 会尝试布置小部件,可能会根据各种选项增大或缩小小部件。接下来,pack 会尝试按照它的规则做同样的事情。这可能需要它更改小部件的宽度或高度。

grid 将看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。 pack 然后会注意到一些小部件的大小发生了变化,因此它会根据其规则重新排列小部件。 grid 将看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。 pack 然后会注意到一些小部件的大小发生了变化,因此它会根据其规则重新排列小部件。 grid 会看到...