如何防止Tk增加空间?

时间:2015-05-04 12:41:29

标签: python tkinter tk

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

示例:

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似乎将行的高度推向了南方。窗户有一个又大又丑的边框。我怎么能防止这种情况?

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

1 个答案:

答案 0 :(得分:2)

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

更改

pady=(100-TickValue-13)

pady=(100-TickValue-13, 0)

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

enter image description here