Tk/ttk python中的帧大小调整问题

use*_*875 2 python resize tkinter ttk

我正在使用Python 2.7中的Tkinter/ttk创建一个GUI,而我遇到的问题是,一旦将一个小部件置于其中,Frame将自行调整大小.我是Python新手,之前没有使用过Tkinter.

例:

ROOT = Tk()
FRAME = ttk.Frame(ROOT, width=300, height=300, relief='groove')
FRAME.grid()
ROOT.mainloop()
Run Code Online (Sandbox Code Playgroud)

将生成一个凹槽框架300x300,如果我在其中放置一个小部件,如下所示:

ROOT = Tk()
FRAME = ttk.Frame(ROOT, width=300, height=300, relief='groove')
BUTTON = ttk.Button(FRAME, text="DON'T READ THIS TEXT")
FRAME.grid()
BUTTON.grid()
ROOT.mainloop()  
Run Code Online (Sandbox Code Playgroud)

框架将缩小以适应按钮.有什么方法可以强制框架不调整大小?

Bry*_*ley 6

要强制框架保持其原始尺寸,请关闭"几何体传播".在你的情况下,你会打电话FRAME.grid_propagate(False).

作为拥有超过15年Tk经验的人,我可以建议您几乎肯定不需要此功能.Tk"缩小到适合"的能力非常棒,并且可以很容易地创建具有适当调整大小行为的GUI.一旦你开始关闭几何传播,你就会发现你的GUI会有不好的调整大小行为,或者你会花很多时间来调整大小和小部件的位置.