我有一个包含一些Label()小部件,一些Button()小部件,一些Text()小部件和一些Entry()小部件的程序。之前进行过两次修订,我没有标签,并且Entry()小部件较少,为了方便起见,我混合了.pack()和.grid(),这很好。我必须进行一些重构,并在此过程中添加了额外的小部件- 添加的所有新内容都使用.grid()。其他小部件没有任何变化。现在,我遇到了“无法在。中使用网格”等错误(如果需要,我可以发布完整的错误消息)。为什么,我该如何解决?(如有必要,我也可以发布代码。)
你不能混用grid,并pack与同一父控件。
grid
pack
为什么?因为grid将尝试布置小部件,所以可能会根据各种选项来增加或缩小小部件。接下来,pack将尝试根据其规则执行相同的操作。这可能需要更改窗口小部件的宽度或高度。
grid会看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。pack然后,您会注意到某些小部件已更改大小,因此它将根据其规则重新排列小部件。grid会看到小部件已更改大小,因此它将尝试根据其规则重新排列小部件。pack然后,您会注意到某些小部件已更改大小,因此它将根据其规则重新排列小部件。grid会看到…