15
的Tkinter的窗口大小可以通过下面的方法来控制:如何设置框架的最小和最大高度或宽度?
.minsize()
.maxsize()
.resizable()
是否有控制TKinter或者TTK帧的大小等同的方法呢?
@Bryan:我改变了你的frame1.pack代码如下:
frame1.pack(fill='both', expand=True)
frame1.bind('<Configure>', maxsize)
我加入这个事件处理程序:
# attempt to prevent frame from growing past a certain size
def maxsize(event=None):
print frame1.winfo_width()
if frame1.winfo_width() > 200:
print 'frame1 wider than 200 pixels'
frame1.pack_propagate(0)
frame1.config(width=200)
return 'break'
上述事件处理程序检测到帧的宽度太窄大,但无法防止发生的规模增加。这是Tkinter的局限还是我误解了你的解释?
我想你误会了。我的解释指出,如果您将展开设置为False并将其设置为无,则该框架将具有静态宽度并且不会增长或缩小。如果帧由于其父级而改变了大小,则在帧上设置pack_propagate不起作用,您需要将其设置在父级上。 pack_propagate仅设置框架是根据其内容更改大小,而不是基于其父项。 – 2010-12-09 17:32:29
@Bryan:谢谢你的跟进。我现在知道了。 – Malcolm 2010-12-10 22:06:09