我正在使用网格管理器并排放置两个框架,并且在第二行中的两个框架下方各有一个按钮的五个列,均匀间隔。所有都使用“粘性”NSEW,因为如果我放大窗口,我希望它们按比例缩放。
当我向右侧框架添加文本输入窗口小部件时,它会扭曲它们下方的按钮,使它们比左侧的按钮大。我无法弄清楚如何防止这种失真,换句话说,如何保持每列的大小相同。
有没有理由为什么文本输入窗口小部件不是行/列/加权?提前致谢!
答案 0 :(得分:0)
您可以尝试使用columnspan
或rowspan
。此应该允许按钮不受文本小部件的影响。
例如:
root=Tk()
button1=Button(root,text="button1")
button1.grid(row=1,column=0)
textbox=Text(root)
textbox.grid(row=1,column=1,rowspan=2)
答案 1 :(得分:0)
在每个帧中,您应该将“传播”状态设置为false,这将使帧不会根据内部的大小进行调整。因此,如果框架使用grid()
设置grid_propagate(False)
,依此类推。
答案 2 :(得分:0)
我认为这是因为您已经为条目窗口小部件指定了特定宽度(或接受默认值)。由于小部件想要成为特定大小,因此它将使列增长以适应其子级的请求大小。
一种解决方案是将条目小部件的大小设置为1.然后,由于E和W的粘性设置,它将扩展为完全适合列。