[英]How to make the spacing between two widgets displayed in a 3 column grid equal in tkinter?
以下代码循环三次以创建三个标签小部件,
import tkinter as tk
root = tk.Tk()
root.geometry("400x200")
frm = tk.Frame(master=root, bg="yellow")
frm.columnconfigure(index=(0, 1, 2), weight=1)
for i in range(3):
tk.Label(master=frm, text=i, bg="red", padx=40, pady=10).grid(row=0, column=i)
frm.pack(fill="both", expand=True)
root.mainloop()
给出以下输出(正如人们所期望的):
但是,以下代码只循环两次以创建两个标签小部件,
import tkinter as tk
root = tk.Tk()
root.geometry("400x200")
frm = tk.Frame(master=root, bg="yellow")
frm.columnconfigure(index=(0, 1, 2), weight=1)
for i in range(2):
tk.Label(master=frm, text=i, bg="red", padx=40, pady=10).grid(row=0, column=i)
frm.pack(fill="both", expand=True)
root.mainloop()
给出这个输出:
如您所见,两个小部件没有正确间隔开。 我想得到这种输出:
我如何实现这一目标? 为什么输出 #2 中的间距不均匀?
请记住,我想在不创建任何其他标签小部件的情况下执行此操作,因为我使用类似的方法在我使用 tkinter 制作的应用程序中显示搜索结果。 我问这个问题是因为当我尝试仅显示两个搜索结果或仅显示一个搜索结果时,我在该应用程序中面临同样的问题。
预先感谢您的回答! 请原谅我,因为我只是 tkinter 的初学者。
PS:我知道这与问题有点不同,但如果您能指出一些来源/教程,我可以更好地了解有关 tkinter 工作原理的更多信息,请这样做!
注意:我使用的是 Python v3.8.5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.