Не могу изменить цвет Progressbar с tkinter на красный - PullRequest
0 голосов
/ 31 октября 2019

Я видел несколько решений по изменению цвета Progressbar, однако, при попытке применить их, он не работает и остается зеленым.

Возможно, мне не хватает глупости.

Это вертикальный индикатор, заполнение которого занимает 10 секунд. Все, что я хочу, это то, что полоса становится красной, а не зеленой.

from tkinter import *
from tkinter.ttk import *
import time
root = Tk()
root.geometry("500x500")
seconds = 10
s = Style()
s.configure("red.Vertical.TProgressbar", foreground = 'red', background = 'red', throughcolor = 'red')
progress = Progressbar(root, orient = VERTICAL, length = 9999999, mode = 'determinate')
progress.configure(style = 'red.Vertical.TProgressbar')
progress.pack(ipadx = 200000, padx = 50, pady = 50) 
start_time = time.time()
elapsed_time = time.time() - start_time

while elapsed_time/seconds*100 < 100:
    progress['value'] = elapsed_time/seconds*100
    elapsed_time = time.time() - start_time
    root.update()
    time.sleep(0)

1 Ответ

1 голос
/ 31 октября 2019

Попробуйте это:

import time
import tkinter  as tk
from  tkinter import  ttk
root = tk.Tk()
root.geometry("500x500")
seconds = 10
s = ttk.Style()
s.theme_use('clam')
s.configure("red.Vertical.TProgressbar", foreground='red', background='red')
progress = ttk.Progressbar(root, style="red.Vertical.TProgressbar", orient="vertical", length=600, mode="determinate", maximum=4, value=1)
progress.pack(ipadx = 200000, padx = 50, pady = 50)

start_time = time.time()
elapsed_time = time.time() - start_time

while elapsed_time/seconds*100 < 100:
    progress['value'] = elapsed_time/seconds*100
    elapsed_time = time.time() - start_time
    root.update()
    time.sleep(0)

У меня также есть зеленый, когда попробовал ваш вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...