如何防止 Tk 添加 space?
How do I prevent Tk from adding space?
我想在进度条的边上画刻度线。
示例:
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)
现在应该只有顶部填充,没有底部填充。
我想在进度条的边上画刻度线。
示例:
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)
现在应该只有顶部填充,没有底部填充。