Tkinter之使用padding属性调节组件距离

当在Tkinter程序中添加菜单后发现组件与菜单间距过小,本文介绍了通过padding属性来解决这一问题。强调了Tkinter的Frame不支持padding,而需要使用ttk.Frame,并提供了设置padding的方法,解释了padding四个参数的含义,以及如何将组件放入ttk.Frame内进行布局调整,从而达到美化界面的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给程序界面加了个菜单,导致菜单和组件的距离过近,非常难看。

 于是就想调一下组件和菜单的距离。

看了下文档,有2种调节方式。

一种是调节组件的自身的选项来进行调节,一种是使用padding属性进行调节。

我是要对整行的组件进行调节,单个组件调节不合适,选择使用padding属性进行调节。

根据官方文档给出的示例程序,主要是通过使用将组件添加到ttk.Frame,再通过ttk.Frame的padding属性进行调节。

注意:tkinter 的Frame是没有padding属性的!!!一定是得用ttk.Frame。

官方例子太复杂了,这里用我自己的例子。

例子的代码如下:

from tkinter.ttk import *

inputFrame=Frame(root,padding=(10,5,10,0))


inputLabel=Label(inputFrame,text = "目标路径:")
inputLabel.grid(row = 0, column = 0)
inputEntry=Entry(inputFrame, textvariable = inputPath)
inputEntry.grid(row = 0, column = 1)
inputButton=Button(inputFrame, text = "路径选择", command = selectInputPath)
inputButton.grid(row = 0, column = 2)

inputFrame.grid(row = 0, column = 0, columnspan=3)

下面对代码进行说明。

首先引入ttk,引入 ttk 后,系统默认都是使用ttk的Frame。

from tkinter.ttk import *

创建一个ttk.Frame组件 inputFrame ,将其放置在主窗口root中,设置padding为 10,5,10,0

inputFrame=Frame(root,padding=(10,5,10,0))

这里说下padding四个参数的意义,四个参数分别代表不同位置的要填充的大小。

分别是左,上,右,下。

padding=(左,上,右,下)

将我要调节的那一行的组件全部放到 inputFrame 里面去。

以 inputLabel 为例

inputLabel=Label(inputFrame,text = "目标路径:")

设置 inputLabel 在 inputFrame 内的布局,这个和我们在主窗口中使用grid布局的方式是一致的。

inputLabel.grid(row = 0, column = 0)

添加完所有要添加的组件到 inputFrame 中后,

最后设置 inputFrame 在主窗口 root 中的布局

inputFrame.grid(row = 0, column = 0, columnspan=3)

修改前程序截图:

修改后程序截图:

参考:TkDocs Tutorial - The Grid Geometry Manager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值