Python 在Tkinter中与进度条相交
正如标题所说,我想在Tkinter中的某个可变位置与进度条相交。查看我想要实现的目标的图像,即我编辑到图像中的红色垂直线。Python 在Tkinter中与进度条相交,python,python-2.7,tkinter,ttk,Python,Python 2.7,Tkinter,Ttk,正如标题所说,我想在Tkinter中的某个可变位置与进度条相交。查看我想要实现的目标的图像,即我编辑到图像中的红色垂直线。 其想法是将类似“| |”的文本放在条内,并以不同的颜色对其进行着色,使其看起来像我想要实现的效果。我看到了几个例子,文本被放入进度条中,但它总是在栏的中间,这对我不起作用。br/> 下面是生成进度条的代码 import ttk from Tkinter import * import random master = Tk() stl = ttk.Style() stl.
其想法是将类似“| |”的文本放在条内,并以不同的颜色对其进行着色,使其看起来像我想要实现的效果。我看到了几个例子,文本被放入进度条中,但它总是在栏的中间,这对我不起作用。br/>
下面是生成进度条的代码
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
小部件不支持此操作。但是,您可以创建一个小的彩色框架
,并使用放置
将其放置在进度条的顶部
例如:
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上的外观:
不错。用于
place()
的酷盒。我将不得不把它添加到我的place()
@Mike SMT的可能用途列表中:是的,有时候它正是适合这项工作的工具。