首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MacOS和Windows上,Tkinter网格列间距是否存在内在差异?如果是这样的话,我该怎么办呢?

在MacOS和Windows上,Tkinter网格列间距是否存在内在差异?如果是这样的话,我该怎么办呢?
EN

Stack Overflow用户
提问于 2021-05-30 15:09:39
回答 3查看 251关注 0票数 0

我已经阅读了一些更简单的视频教程和文档,试图通过网格布局找出间隔的窍门,以便将其用于我自己的应用程序,但是当我尝试使用网格间距时,它似乎添加了额外的间距/填充,而我并没有在其中进行编码。

我越关注这个问题,它就越像是MacOS和Windows之间的问题,但是如果是这样的话,有没有人知道如何绕过它呢?

例如,我试图复制和粘贴在这个链接上找到的计算器的代码:https://zetcode.com/tkinter/layout/,我得到了两个非常不同的结果。

上面的图像来自示例页面,它看起来像是在windows上完成的,而下面的图像是当我复制/粘贴代码并亲自试用时发生的事情。

这个间距没有那么差,如果我必须处理它,我想我会这样做,但当我尝试下面的代码从一个视频教程,我的布局是非常不同的间隔。

我还链接了视频,因为有一段时间,编码器经历了一些类似的间隔,但随后修复了它,输入相同的代码并不能为我带来相同的修复。

代码语言:javascript
运行
复制
from tkinter import *

root=Tk()
root.title("Simple Calculator")

e = Entry(root, width=35, borderwidth=5)
e.grid(row=0, column=0, columnspan=3, padx=10, pady=10)

def button_click(number):
    #e.delete(0, END)
    e.insert(0, number)

# Define Buttons

button_1 = Button(root, text="1", padx=40, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text="2", padx=40, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))
button_add = Button(root, text="+", padx=39, pady=20, command=lambda: button_click(7))
button_equal = Button(root, text="=", padx=98, pady=20, command=lambda: button_click(7))
button_clear = Button(root, text="clear", padx=88, pady=20, command=lambda: button_click(7))

# Put the buttons on the Screen

button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)

button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)

button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)

button_0.grid(row=4, column=0)
button_add.grid(row=5, column=0)

button_equal.grid(row=5, column=1, columnspan=2)
button_clear.grid(row=4, column=1, columnspan=2)


root.mainloop()

第一张是我的,第二张是编码器的/YouTuber的,这里的列之间的间距/填充看起来太大了,在构建UI时不能“处理”。有人有办法解决吗?我想要的东西,有清洁,更简洁的外观表面-Windows布局/间隔。

EN

Stack Overflow用户

回答已采纳

发布于 2021-06-01 14:59:30

使用padx和pady =0

.grid(padx = 0,pady=0)

这应该会减少中间的间隔,它看起来就像所需的图片。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67762706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档