繁体   English   中英

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM