ttk 进度条颜色 - 你能随状态改变吗?
ttk Progressbar color - can you change with state?
我正在 Windows 10 机器上使用 tkinter 构建一个 Python 3 应用程序。我完成了它的构建,现在需要为新功能添加一个进度条。进度条必须根据其值改变颜色。
我的应用程序已经全部使用 vista 主题构建,因此不能更改为 clam 主题,因为我必须为每个其他元素调整 GUI。
我发现了一个讨论 here,它暗示了使用状态来改变栏的颜色。我试过:
progressBar.state(statespec=["user3"])
尝试将我的栏变成红色,但没有成功。它顽固地保持绿色。是否有不同的方法来设置这些条的状态以获得所需的效果?
因为我的 GUI 的其余部分使用的是 vista 主题,所以我不能简单地配置样式。非常感谢任何帮助。
对于遇到类似问题的任何人,我建议查看有关更改 EntryBox 颜色的答案here。
我使用了类似的解决方案来获得我想要的(同样,我在 Windows 10 机器上使用 Python 3):
from tkinter import *
from tkinter import ttk
root = Tk()
style = ttk.Style()
style.element_create("color.pbar", "from", "clam")
style.layout("ColorProgress.Horizontal.TProgressbar",
[('Horizontal.Progressbar.trough',
{'sticky': 'nswe',
'children': [('Horizontal.Progressbar.color.pbar',
{'side': 'left', 'sticky': 'ns'})]})])
style.configure("ColorProgress.Horizontal.TProgressbar", background='orange')
myProgress=ttk.Progressbar(root,orient='horizontal',
length=500,mode='determinate',
style='ColorProgress.Horizontal.TProgressbar')
我正在 Windows 10 机器上使用 tkinter 构建一个 Python 3 应用程序。我完成了它的构建,现在需要为新功能添加一个进度条。进度条必须根据其值改变颜色。
我的应用程序已经全部使用 vista 主题构建,因此不能更改为 clam 主题,因为我必须为每个其他元素调整 GUI。
我发现了一个讨论 here,它暗示了使用状态来改变栏的颜色。我试过:
progressBar.state(statespec=["user3"])
尝试将我的栏变成红色,但没有成功。它顽固地保持绿色。是否有不同的方法来设置这些条的状态以获得所需的效果?
因为我的 GUI 的其余部分使用的是 vista 主题,所以我不能简单地配置样式。非常感谢任何帮助。
对于遇到类似问题的任何人,我建议查看有关更改 EntryBox 颜色的答案here。
我使用了类似的解决方案来获得我想要的(同样,我在 Windows 10 机器上使用 Python 3):
from tkinter import *
from tkinter import ttk
root = Tk()
style = ttk.Style()
style.element_create("color.pbar", "from", "clam")
style.layout("ColorProgress.Horizontal.TProgressbar",
[('Horizontal.Progressbar.trough',
{'sticky': 'nswe',
'children': [('Horizontal.Progressbar.color.pbar',
{'side': 'left', 'sticky': 'ns'})]})])
style.configure("ColorProgress.Horizontal.TProgressbar", background='orange')
myProgress=ttk.Progressbar(root,orient='horizontal',
length=500,mode='determinate',
style='ColorProgress.Horizontal.TProgressbar')