我想在进度条的一侧绘制刻度线。
示例:
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复制粘贴)
答案 0 :(得分:2)
行的大小正在增加,因为默认情况下,pady
会在窗口小部件的上方和下方添加填充。当TickValue
为15时,pady
为72,总细胞高度为144加上实际标签的高度。您可以通过将两个元素元组传递给参数来独立指定顶部和底部填充。
更改
pady=(100-TickValue-13)
到
pady=(100-TickValue-13, 0)
现在应该只有顶部填充,而且没有底部填充。