【发布时间】:2020-10-28 03:26:56
【问题描述】:
程序运行时,我在程序中使用的复选框在复选框 2 和 3 之间有很大的差距。
我发现这是由我的条目小部件引起的,因为当我将其注释掉时,复选框 2 和 3 之间的间隙消失了。我不确定如何消除这种无形的差距,因为复选框和条目小部件位于不同的行中,因此,它让我相信这两个小部件之间不应该有干扰。
from tkinter import *
import tkinter as tk
master = tk.Tk()
tk.Label(master, text="First Name").grid(row=0)
Entry(master).grid(row=0, column=1)
var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
Checkbutton(master, text="1", variable=var1).grid(row=2,column=0, sticky=W)
Checkbutton(master, text="2", variable=var2).grid(row=2, column=1, sticky=W)
Checkbutton(master, text="3", variable=var3).grid(row=2, column=2, sticky=W)
Button(master,text="QUIT",command=master.quit, fg="red").grid(row=3,column=1)
master.mainloop()
【问题讨论】:
-
是的,设置整列宽度的总是最宽的小部件。一个简单的解决方法是通过添加参数
columnspan=3使条目跨度为 2 或 3 列。您可能希望对 Button 执行相同的操作。 -
我更喜欢将这些复选按钮放在一个框架中,以便它们可以独立布局。
标签: python python-3.x tkinter tkinter-entry