【发布时间】:2020-07-19 17:19:36
【问题描述】:
我有一个 Python 项目,但我无法安排按钮。我怎样才能在照片中这样排列它们?
【问题讨论】:
-
到目前为止你尝试过什么?有什么代码可以分享吗?
标签: python button tkinter grid
我有一个 Python 项目,但我无法安排按钮。我怎样才能在照片中这样排列它们?
【问题讨论】:
标签: python button tkinter grid
您需要将问题分解为更小的部分。看着这张照片,我看到三个不同的区域:顶部有一个带有标题的蓝色条、一排标签、条目小部件和按钮,然后是一个按钮网格。因此,首先要学习如何将三个水平区域堆叠在一起。
接下来,您可以分别关注每个部分:
您可以使用两个几何管理器来完成所有这些操作:grid 和 pack。 pack 最擅长边到边对齐(例如:从左到右,从上到下)。 grid 非常适合创建网格。它们都在互联网上的多个站点上得到了很好的记录。
如果我这样做,我会使用pack 从上到下堆叠三个框架,底部框架配置为填充所有剩余空间。我还将使用pack 来布置第二部分中的标签、条目小部件和按钮。我会使用网格来布置第三部分中的按钮。这不是唯一的方法,但我认为这是需要最少代码量的方法。
例如,第一步是创建三个框架并布置它们。它可能看起来像这样:
import tkinter as tk
root = tk.Tk()
title_frame = tk.Frame(root)
tool_frame = tk.Frame(root)
button_frame = tk.Frame(root)
title_frame.pack(side="top", fill=x", expand=False)
tool_frame.pack(side="top", fill="x", expand=False)
button_frame.pack(side="top", fill="both", expand=True)
之后,只需对每个部分执行相同的流程即可。
提示:在最初的开发过程中,为每个帧临时赋予不同的颜色、粗边框和/或估计的宽度和高度是有帮助的,这样您就可以将它们可视化。一切正常后,您可以返回并调整颜色和边框,并且在您开始添加其他小部件后,小部件的宽度和高度应该会自动调整。
【讨论】: