python - 如何防止 Tk 添加空间?

标签 python tkinter tk-toolkit

我想在进度条的侧面绘制刻度线。

示例:

from tkinter import * 
from tkinter import ttk

root = Tk()
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

TickValue=15
#TickValue=85

ttk.Label(mainframe, text='%2i-' % TickValue).grid(row=1, column=1, sticky=(N,E), pady=(100-TickValue-13))

pbar= ttk.Progressbar(mainframe, value=15, orient=VERTICAL, length=100)
pbar.grid(row=1, column=2,  sticky=(N, W))

root.mainloop()

TickValue=85 看起来不错,但 TickValue=15 似乎将行的高度推向南。 window 有一个又大又丑的边框。我怎样才能防止这种情况发生?

(我的代码主要是从 http://www.tkdocs.com/tutorial/firstexample.html 复制粘贴的)

最佳答案

该行的大小正在增加,因为默认情况下,pady 在小部件的上方和下方添加了填充。当 TickValue 为 15 时,pady 为 72,单元格总高度为 144 加上实际标签的高度。您可以通过将两个元素元组传递给参数来独立指定顶部和底部填充。

改变

pady=(100-TickValue-13)

pady=(100-TickValue-13, 0)

现在应该只有顶部填充,没有底部填充。

enter image description here

关于python - 如何防止 Tk 添加空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030470/

相关文章:

python - iPython: 'no module named' 导入错误

python - 在 Entry 小部件中重新绑定(bind) “select all”

ruby - 如何使用 tk 在 ruby​​ 中持续更新图形窗口

python - tkinter 中不可移动的文本

python - 如何在特定时间暂停或停止 python 程序(不基于耗时!)

python - 使用 GeoDjango 在坐标系之间转换

python - 在数据框中查找通讯员进行计算

python - 如何让 Tkinter textarea 接受在 Python 3.X 上删除外部文件?

python - Python 3 中的列表成员资格检查

python - 根据用户输入创建列表