删除tkinter中按钮之间的空格

时间:2017-08-23 00:43:00

标签: python tkinter

我正在tkinter中制作一个计算器,我试图让按钮紧挨着这样:

calculator

这是我目前为止的按钮代码:

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

如何删除空格?

2 个答案:

答案 0 :(得分:1)

您需要请求窗口小部件展开以填充给定的空间。使用grid几何管理器,您可以使用sticky属性控制它。你给它一个字符串,其中包含一个或多个" n"," s"," e"和" w",表示这些点指南针(北,南,东,西)

例如:

Button(root, text=str()).grid(row=4, column=columncount, sticky="nsew")

您需要为每个按钮执行此操作。

如果按钮之间几乎不需要空格,您可能还需要转动高亮环,用于显示哪个按钮具有键盘焦点。这由highlightthickness属性控制,默认为1像素。

Button(..., highlightthickness=0)

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

答案 1 :(得分:0)

将每个按钮属性 sticky 设置为“nsew” - 这将使按钮填充给它们的整个空间,它应该看起来像这样:Button(root, text=str(x)).grid(row=3, column=columncount, sticky = "nsew")