程序运行时,我在程序中使用的复选框在复选框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()
答案 0 :(得分:2)
您可以将按钮放置在跨应用程序宽度的框架中。可以将条目调整为也跨越几列。
也许是这样的:
import tkinter as tk
master = tk.Tk()
tk.Label(master, text="First Name").grid(row=0)
tk.Entry(master).grid(row=0, column=1, columnspan=2)
var1 = tk.IntVar()
var2 = tk.IntVar()
var3 = tk.IntVar()
checkbtns = tk.Frame(master)
tk.Checkbutton(checkbtns, text="1", variable=var1, padx=10).pack(side=tk.LEFT, anchor=tk.W)
tk.Checkbutton(checkbtns, text="2", variable=var2, padx=10).pack(side=tk.LEFT, anchor=tk.W)
tk.Checkbutton(checkbtns, text="3", variable=var3, padx=10).pack(side=tk.LEFT, anchor=tk.W)
checkbtns.grid(row=2, column=0, columnspan=3)
tk.Button(master, text="QUIT", command=master.destroy, fg="red").grid(row=3, column=0, columnspan=3)
master.mainloop()