gpt4 book ai didi

python - Tkinter.grid 间距选项?

转载 作者:太空狗 更新时间:2023-10-30 00:31:55 25 4
gpt4 key购买 nike

我是 Tkinter 的新手,我尝试使用网格布局管理器创建一个应用程序。但是,我似乎无法找到一种方法来按照我想要的方式使用它。我需要做的是模拟一个充满“单元格”的网格,这样我就可以在单元格 (3,8) 中放置一个标签或在单元格 (5,1) 中放置一个按钮。这是我尝试过的示例:

import tkinter as tk
root = tk.Tk()

label = tk.Label(root, text = 'Label')
label.grid(column = 3, row = 8)

button = tk.Button(root, text = 'Button')
button.grid(column = 5, row = 1)

Tkinter 保持每个小部件的相对位置(即 button 位于 label 的上方和右侧),但它会忽略两者之间的任何空间。我搜索了一下这个问题并找到了关于 weight 的信息,但这似乎不是我要找的;我想要一些独立于 labelbutton 布局的东西。感谢您的帮助!

最佳答案

您可以通过运行 grid_columnconfigure 指定网格中列/行的间距(包括那些不包含小部件的列/行)和 grid_rowconfigure小部件父级的方法(在本例中,父级为 root)。

例如,要设置第 4 列的最小宽度,请将最后一行添加到您的代码中:

import Tkinter as tk
root = tk.Tk()

label = tk.Label(root, text = 'Label')
label.grid(column = 3, row = 8)

button = tk.Button(root, text = 'Button')
button.grid(column = 5, row = 1)

root.grid_columnconfigure(4, minsize=100) # Here

如果您想为所有列和行设置最小大小,您可以使用以下方法遍历它们:

col_count, row_count = root.grid_size()

for col in xrange(col_count):
root.grid_columnconfigure(col, minsize=20)

for row in xrange(row_count):
root.grid_rowconfigure(row, minsize=20)

编辑 有趣的是,effbot 指出:

minsize=Defines the minimum size for the row. Note that if a row is completely empty, it will not be displayed, even if this option is set.

(斜体是我的)但据我所试,它似乎甚至对空的行和列也有效。

关于python - Tkinter.grid 间距选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28019402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com