在tkinter中关于容器和布局的问题

用Frame设置了几个区域,通过填充色可以看到,但在区域中添加了控件后(用grid),该区域的范围就发生了变化,比如列宽就随控件的宽度了,请问是啥原理。

原理是tcl/tk层面的,这种问题也是tklib自己的“特性”,所以你只研究Python层面的tkinter的话,你就不需要管了。
pack和gird都是tk的相对布局,有时使用比较恶心。提供以下方法:

  1. 设置父组件的width和height和子组件的尺寸
  2. 使用绝对布局place,当然,place也存在相对布局,但不会影响正常布局。