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