Python 删除tkinter中按钮之间的空间

Python 删除tkinter中按钮之间的空间,python,tkinter,Python,Tkinter,我正在用tkinter制作一个计算器,我试图让按钮彼此紧靠,如下所示: 这是迄今为止我的按钮代码: Entry(root).grid(row=0, column=0, columnspan=5) Button(root, text='C').grid(row=1, column=0, sticky='w') Button(root, text='CE').grid(row=1, column=1, sticky='w') Button(root, text='0').grid(row=5,

我正在用tkinter制作一个计算器,我试图让按钮彼此紧靠,如下所示:

这是迄今为止我的按钮代码:

Entry(root).grid(row=0, column=0, columnspan=5)

Button(root, text='C').grid(row=1, column=0, sticky='w')
Button(root, text='CE').grid(row=1, column=1, sticky='w')

Button(root, text='0').grid(row=5, column=0)

columncount = 0

for x in range(1, 4):
    Button(root, text=str()).grid(row=4, column=columncount)
    columncount += 1

columncount = 0

for x in range(4, 7):
    Button(root, text=str(x)).grid(row=3, column=columncount)
    columncount += 1

columncount = 0

for x in range(7, 10):
    Button(root, text=str(x)).grid(row=2, column=columncount)
    columncount += 1

如何删除空间?

您需要请求小部件展开以填充指定给它们的空间。使用
栅格
几何体管理器,您可以使用
粘性
属性来控制它。给它一个字符串,其中包含一个或多个“n”、“s”、“e”和“w”,表示指南针的点(北、南、东、西)

例如:

Button(root, text=str()).grid(row=4, column=columncount, sticky="nsew")
每个按钮都需要这样做

如果你真的不想在按钮之间留有空间,你可能还需要打开高亮显示环,它用来显示哪个按钮有键盘焦点。这由默认为1像素的
highlightthickness
属性控制

Button(..., highlightthickness=0)

建议不要这样做,因为戒指对于无需鼠标即可使用应用程序非常重要。

设置每个按钮属性
sticky
到“nsew”-这将让按钮填满指定给它们的整个空间,它应该是这样的:
按钮(root,text=str(x)).grid(row=3,column=columncount,sticky=“nsew”)

您应该将
按钮(root,text=str()).grid(row=4,column=columncount)
更改为
按钮(root,text=str(x))…
打字错误?@aristotl是的,我忘了那一行的x。谢谢,解释了为什么有空按钮