与Tkinter中的进度条相交

时间:2018-07-06 13:26:14

标签: python python-2.7 tkinter ttk

就像标题中所说的那样,我想在Tkinter中的某个可变位置处插入进度条。请参阅该图像以了解要实现的功能,这些是我编辑到图像中的红色垂直线。


enter image description here

这个想法是把像“ ||”这样的文本在酒吧内给它上色,使它看起来像我想要的颜色。我已经看到了几个示例,其中在进度栏中添加了文本,但始终在该栏中正好对我不起作用。


这是生成进度条的代码。

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()

1 个答案:

答案 0 :(得分:2)

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机器,但这是我的Mac上的样子:

enter image description here