如何让元素粘在 Tkinter 的右下角?

新手上路,请多包涵

我在 python3 的 Tkinter 中将按钮放在这样的框架上:

 b2_1 = Button(frame1, text='aaaaaaaaaaaa')
b2_1.pack(pady=20, side=RIGHT)

b2_2 = Button(frame1, text='bbbbbbbbbbbbbbb')
b2_2.pack()

我希望按钮 b2_1 和 b2_2 不仅要贴在右侧,还要贴在底部,一个在另一个的正上方。我怎样才能做到这一点?

原文由 Saurabh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 622
1 个回答

“如何在右下角放置一些东西?”的答案断章取义无法得到充分回答。这实际上取决于窗口中还有什么。您可以使用 place 轻松地将小部件放置在您想要的任何位置,但这很少是正确的解决方案。

如果你真的想在网格中布置东西,网格相对容易理解(例如:最右边的列,底部有几行,顶部有一个或多个。

也可以使用 Pack,尽管它通常涉及使用额外的框架。例如,您可以为左侧和右侧创建一个框架,然后将按钮打包在右侧框架的底部。

还可以使用多个框架和附加框架。例如,您可以使用 grid 将主要小部件布局为页眉、主要区域和页脚,然后使用 pack 将按钮排列在页脚中。

如果您真的只想要两个按钮,并且希望它们堆叠在右下角,我建议使用 grid 。除了将它们排成一行放在底部之外,您还需要确保至少有另外一行和另外一列占用了额外的空间。行和列可以为空,但它们必须配置为具有“权重”。

例如:

 frame1.grid_rowconfigure(0, weight=1)
frame1.grid_columnconfigure(0, weight=1)

# give the empty row 0 and column 0 a non-zero weight
# so that grid gives all extra space to those columns.

b2_1.grid(row=1, column=1)
b2_2.grid(row=2, column=1)

原文由 Bryan Oakley 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题