【发布时间】:2020-02-13 00:12:33
【问题描述】:
我正在尝试创建三个框架:顶部、中间和底部。我成功地将小部件添加到我的顶部和底部框架中,并按照我想要的方式定位它们。
但是,我只是想在中间框架中添加两个条目小部件,它们将跨越框架/窗口的整个宽度。
由于顶部和底部框架中所有小部件的代码长度,我将仅包含一段关于如何配置窗口和框架的代码:
root = Tk()
root.resizable(False, False)
top_frame = Frame(root)
middle_frame = Frame(root)
bottom_frame = Frame(root)
# I think this block is irrelavant to the question, but including it anyway just incase
rows = 0
while rows < 36:
top_frame.rowconfigure(rows, weight=1)
top_frame.columnconfigure(rows, weight=1)
bottom_frame.rowconfigure(rows, weight=1)
bottom_frame.columnconfigure(rows, weight=1)
rows += 1
top_frame.grid(row=0, column=0)
middle_frame.grid(row=1, column=0)
bottom_frame.grid(row=2, column=0)
这是我用于两个条目小部件的代码:
entry_1 = Entry(middle_frame)
entry_2 = Entry(middle_frame)
entry_1.grid(row=0, column=0, sticky=E+W)
entry_2.grid(row=1, column=0, sticky=E+W)
但是,它们只是粘在中间框架的中心。我尝试了许多解决方案,但似乎没有任何改变这些条目小部件在框架内的外观 - 始终居中,从不改变大小。我什至尝试将它们打包并将它们的填充设置为 X。我可能忽略了一些非常简单的东西,但我无法弄清楚。
【问题讨论】:
-
条目最有可能正在填充框架 - 但是您没有做任何事情来使框架变得比它需要的更大,以将条目保持为默认值尺寸。也给那个框架
sticky=E+W。 (调试提示:临时为 Frames 添加边框或背景颜色可以查看它们的大小。)