如何像在照片中那样在tkinter中放置按钮?

问题描述 投票:-1回答:1

我有一个使用Python的项目,但无法安排按钮。如何在照片中这样排列它们?

enter image description here

python button tkinter grid
1个回答
0
投票

您需要将问题分解成更小的部分。看着照片,我看到三个不同的区域:顶部带有标题的蓝色条,一行标签,输入小部件和按钮,然后是按钮网格。因此,首先要学习如何将三个水平区域彼此叠加。

接下来,您可以分别关注每个部分:

  • 对于顶部,学习如何用单个蓝色标签填充该区域。
  • 对于按钮行,了解如何从左到右添加标签,条目小部件和按钮
  • 对于按钮网格,了解如何将小部件放置在网格中。

您可以使用两个几何图形管理器来完成所有这些工作:gridpackpack最适合边缘到边缘的对齐(例如:从左到右,从上到下)。 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)

之后,只需对每个部分执行相同的处理即可。

提示:在最初的开发过程中,暂时为每个框架赋予不同的颜色,粗边框和/或估计的宽度和高度会很有帮助,以便可以对其进行可视化显示。一切正常后,您可以返回并调整颜色和边框,并且在开始添加其他窗口小部件后,窗口小部件的宽度和高度应自动调整。

© www.soinside.com 2019 - 2024. All rights reserved.