有谁知道如何更改 ttk.progressBar 的颜色?它现在显示绿色,我希望它是蓝色的。
import ttk
self.progressBar = ttk.Progressbar(frame3, length=560, maximum=100, mode='determinate');
self.progressBar.place(x=-5, y=60)
有谁知道如何更改 ttk.progressBar 的颜色?它现在显示绿色,我希望它是蓝色的。
import ttk
self.progressBar = ttk.Progressbar(frame3, length=560, maximum=100, mode='determinate');
self.progressBar.place(x=-5, y=60)
您可以更改进度条的颜色,但这很棘手。首先,你需要明白,如果你使用默认主题,如果你没有在tk.style
. 然后它将所需的所有信息传递给操作系统,操作系统将使用其样式进行绘图,而忽略您传递给它的样式信息。这意味着它将在 Windows 上绘制一个 Window 风格的绿色进度条,依此类推。您需要做的是将主题更改为 ttk 绘制的自定义主题。尝试"clam"
风格,它是 ttk 允许您选择的最好看的风格之一。这是我编写的脚本的改编摘录:
import Tkinter as tk
import ttk as ttk
root = tk.Tk()
frame = tk.Frame(root)
frame.grid()
s = ttk.Style()
s.theme_use('clam')
s.configure("red.Horizontal.TProgressbar", foreground='red', background='red')
ttk.Progressbar(frame, style="red.Horizontal.TProgressbar", orient="horizontal",
length=600, mode="determinate", maximum=4, value=1).grid(row=1, column=1)
frame.pack()
这是一张确认它有效的图片。
您需要使用样式来设置进度条颜色。进度条样式元素有:
元素 | 定义 |
---|---|
troughcolor |
完整小部件的背景 |
background |
进度条背景 |
darkcolor |
底部和右侧进度条最内边框 |
lightcolor |
顶部和左侧栏进度条最内边框 |
bordercolor |
进度条的轮廓边框(在上述边框之外)和整个小部件 |
如果希望边框与进度条颜色相同,可以使用以下代码:
TROUGH_COLOR = 'blue'
BAR_COLOR = 'green'
style.configure("bar.Horizontal.TProgressbar", troughcolor=TROUGH_COLOR,
bordercolor=TROUGH_COLOR, background=BAR_COLOR, lightcolor=BAR_COLOR,
darkcolor=BAR_COLOR)
我发现对我来说它不起作用,我不想说这是错误的,但是我发现使用 [troughcolor] 更改背景和 [background] 指示栏
不为我工作
s.configure("red.Horizontal.TProgressbar", foreground='red', background='red')
我的工作方式
s.configure("red.Horizontal.TProgressbar", troughcolor ='gray', background='red')