python - 在 Tkinter 中与进度条相交

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

最佳答案

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

关于python - 在 Tkinter 中与进度条相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51211452/

相关文章:

python - 使用 Keras 的 RNN 层的 return_state 输出是什么

python - 在 OrderedDict Python 中交换值和键

Python 设置交集和 __eq__

python - 获取按钮小部件的文本

python - 在 tkinter 程序上做广告

python - 使用 ManyToMany 字段获取或创建 Django 模型

python - 关于 PyClass_Check 和 PyClass_IsSubclass 函数的一些混淆

python - X 和 Y 从斜坡截取 - Python

python-2.7 - Matplotlib 仅在两个 x 值之间填充曲线下区域

python - wxPython 打印带格式的字符串