【发布时间】:2013-10-03 18:51:44
【问题描述】:
Tkinter 上的网格无法正确调整控件的大小。这是我的代码:
menubar = Menu(frm)
txt = Text(frm)
def TxtTupleLineCol():
str = txt.index(INSERT)
return tuple(str.split(sep='.'))
scrl = Scrollbar(frm, command=txt.yview)
scrl.grid(column=1, sticky=(E + N + S))
txt.config(yscrollcommand=scrl.set)
txt['wrap'] = WORD
scrlw = Scrollbar(frm, orient=HORIZONTAL, command=txt.xview)
scrlw.grid(row=1, sticky=(S + E + W))
st = StatusBar(frm)
tu = TxtTupleLineCol()
st.variable.set(('Linha:' + tu[-2] + ' Coluna:' + tu[-1]))
txt.config(xscrollcommand=scrlw.set)
txt.grid(row=0, column=0, sticky=NSEW)
st.grid(row=2, sticky=S + E + W)
filen = Cfg("")
frm.columnconfigure(0, weight=1)
frm.columnconfigure(1, weight=1)
frm.rowconfigure(1,weight=1)
frm.rowconfigure(0, weight=1)
frm.grid_propagate(False)
如果我调整窗口大小,它会在滚动和文本之间留出空间。 #FIXME?(在另一部分代码中我添加了row/col config。/葡萄牙语不影响理解。)
【问题讨论】:
-
在您最近的编辑中,您为两列添加了权重。你不想那样做。您只希望带有文本小部件的列具有权重。权重的意思是“让我扩展以填充额外的空间”,而您只希望文本小部件扩展。如果两列具有相同的权重,它们将扩展相等的量以填充额外的空间,从而产生一个带有大量额外空间的滚动条。
-
@BryanOakley:谢谢,已修复!