Cor*_*yza 6 python colors ttk progress-bar
有谁知道如何改变我的ttk.progressBar的颜色?它现在显示绿色,我很想让它变蓝.
import ttk
self.progressBar = ttk.Progressbar(frame3, length=560, maximum=100, mode='determinate');
self.progressBar.place(x=-5, y=60)
Run Code Online (Sandbox Code Playgroud)
小智 11
您需要使用样式来设置进度条颜色。进度条样式元素有:
| 元素 | 定义 |
|---|---|
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)
Run Code Online (Sandbox Code Playgroud)
你可以改变进度条的颜色,但这很棘手.首先,您需要了解如果您使用默认主题,如果您未在tk.style中指定主题,则默认主题是默认主题.然后它会将所需的所有信息传递给操作系统,操作系统将使用其样式进行绘制,忽略您传递的样式信息.这意味着它将在Windows上绘制一个Window的样式绿色进度条,依此类推.您需要做的是将主题更改为ttk绘制的自定义主题.尝试"蛤蜊"风格,它是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()
Run Code Online (Sandbox Code Playgroud)
这是确认它正常工作的图片

| 归档时间: |
|
| 查看次数: |
10501 次 |
| 最近记录: |