Tk/ttk中的框架大小调整问题python
我正在Python 2.7中使用Tkinter/ttk创建一个GUI,并且我遇到了一个问题,一旦框架被放置在框架中,框架将调整其自身的大小。我是Python的新手,并没有使用过Tkinter。Tk/ttk中的框架大小调整问题python
例如:
ROOT = Tk()
FRAME = ttk.Frame(ROOT, width=300, height=300, relief='groove')
FRAME.grid()
ROOT.mainloop()
将产生一个开槽镜架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()
该帧将缩小到适合的按钮。任何方式来强制框架不能调整大小?
,如果你想添加填充,然后使用widg.grid(ipadx=..., ipady=..., padx=..., pady=...)
否则,你将需要添加到您尝试什么布局,实现
我不想添加填充,我想看看是否有一种方法来强制框架停留在我告诉它的大小,什么是重点大小和宽度选项,如果它不成立? – user481875 2010-10-20 15:51:44
@ user481875:高度和宽度仅与.place()几何体管理器相关。使用.pack()或.grid()窗口管理器的想法是,您不需要关心窗口小部件的实际位置或大小,因为几何管理器将会明白这一点。 – 2010-10-20 16:01:50
@ user481875:宽度和高度选项的要点是为几何管理器提供关于首选大小的提示。几何管理器可能会根据您的配置方式选择调整它们大小,但如果可能的话,它会尝试遵守所需的大小。 – 2010-10-22 11:03:08
要强制框架,以保持其原始尺寸将更多的上下文“几何传播”关闭。在你的情况下,你可以拨打FRAME.grid_propagate(False)
。
作为一个拥有超过15年Tk经验的人,我可能会建议你几乎肯定不需要这个功能。 Tk“缩小到适合”的能力非常棒,并且使用适当的调整行为来创建GUI非常简单。一旦开始关闭几何图形传播,您会发现您的图形用户界面具有较差的调整行为,或者您会花费大量时间调整大小和窗口小部件的位置。
感谢您的解释 – user481875 2010-10-22 14:21:40
这应该做的工作:ROOT.geometry("640x480")
这个工作对我来说:
app = Application()
app.master.title('Example')
app.master.geometry('640x480')
app.mainloop()
Apllication是在我的情况与网格布局框架。它调整为主窗口的大小,所以我们需要更改主窗口的大小。
所有的UPPER_CASE_NAMES令人不安我... – 2010-10-20 15:20:28