我有一个程序,其中包含一些 Label() 小部件、一些 Button() 小部件、一些 Text() 小部件和一些 Entry() 小部件。几次修订前,我没有标签,并且我的 Entry() 小部件较少,并且我混合了 .pack() 和 .grid() ,因为很方便,我很好。我必须进行一些重构,并在此过程中添加了额外的小部件 - 添加的所有新内容都使用了 .grid()。其他小部件没有任何变化。现在,我收到“无法在 . 中使用网格”等错误(如果需要,我可以发布完整的错误消息)。为什么,我该如何解决这个问题? (如果需要的话我也可以发布代码。)
最佳答案
您不能将 grid
和 pack
与共享同一父级的小部件混合使用。
grid
会尝试布置小部件,可能会根据各种选项增大或缩小小部件。接下来,pack
将尝试根据其规则执行相同的操作。这可能需要它更改小部件的宽度或高度。
grid
将看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。然后pack
会注意到一些小部件已经改变了大小,因此它将根据其规则重新排列小部件。 grid
将看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。然后pack
会注意到一些小部件已经改变了大小,因此它将根据其规则重新排列小部件。 grid
会看到...
关于python - 与 tkinter 同时使用 .pack() 和 .grid(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44711267/