与 Tkinter 中的进度条相交
intersect a progress bar in Tkinter
如标题所说,我想在某个可变位置与 Tkinter 中的进度条相交。查看我想要实现的图像,我编辑到图像中的那些红色垂直线。
这个想法是把像“||”这样的文字在栏内并为其着色不同,所以它看起来应该像我想要实现的那样。我已经看到几个将文本放入进度条的示例,但它总是位于进度条的中间,这对我来说不起作用。
这是生成进度条的代码。
import ttk
from Tkinter import *
import random
master = Tk()
stl = ttk.Style()
stl.theme_use("winnative")
stl.configure("colour.Horizontal.TProgressbar", background="lime green")
for i in range(0,4):
prgb = ttk.Progressbar(master, orient = "horizontal", length = 150, mode = "determinate", style = "colour.Horizontal.TProgressbar")
prgb.grid(row=i, column=0, pady=10)
prgb["maximum"] = 1.0
x = random.random()
prgb["value"] = x
master.mainloop()
ProgressBar
小部件不支持此功能。但是,您可以创建一个小的彩色 Frame
并使用 place
将其放在进度条的顶部。
示例:
for i in range(0,4):
prgb = ttk.Progressbar(...)
...
x = random.random()
...
marker = Frame(prgb, width=4, background="red")
position = random.uniform(0,x)
marker.place(relx=position, rely=.5, anchor="w", relheight=.5)
我无法访问 windows machine,但这就是我 mac:
上的样子
如标题所说,我想在某个可变位置与 Tkinter 中的进度条相交。查看我想要实现的图像,我编辑到图像中的那些红色垂直线。
这个想法是把像“||”这样的文字在栏内并为其着色不同,所以它看起来应该像我想要实现的那样。我已经看到几个将文本放入进度条的示例,但它总是位于进度条的中间,这对我来说不起作用。
这是生成进度条的代码。
import ttk
from Tkinter import *
import random
master = Tk()
stl = ttk.Style()
stl.theme_use("winnative")
stl.configure("colour.Horizontal.TProgressbar", background="lime green")
for i in range(0,4):
prgb = ttk.Progressbar(master, orient = "horizontal", length = 150, mode = "determinate", style = "colour.Horizontal.TProgressbar")
prgb.grid(row=i, column=0, pady=10)
prgb["maximum"] = 1.0
x = random.random()
prgb["value"] = x
master.mainloop()
ProgressBar
小部件不支持此功能。但是,您可以创建一个小的彩色 Frame
并使用 place
将其放在进度条的顶部。
示例:
for i in range(0,4):
prgb = ttk.Progressbar(...)
...
x = random.random()
...
marker = Frame(prgb, width=4, background="red")
position = random.uniform(0,x)
marker.place(relx=position, rely=.5, anchor="w", relheight=.5)
我无法访问 windows machine,但这就是我 mac:
上的样子