簡體   English   中英

如何在python中更改ttk.progressBar顏色

[英]How to change ttk.progressBar color in python

有誰知道如何改變我的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繪制的自定義主題。 嘗試“蛤蜊”風格,它是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:完整小部件的背景
背景:進度欄的背景
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]改變背景和[背景]指示條

不為我工作s.configure("red.Horizontal.TProgressbar", foreground='red', background='red')

我的工作方式s.configure("red.Horizontal.TProgressbar", troughcolor ='gray', background='red')

Progressbar 似乎采用了樣式參數。 根據文檔 ,可以使用樣式設置前景色和背景色。

注意:我自己沒有嘗試過,只是指向相關的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM