简体   繁体   English

如何在tkinter进度栏中更改颜色

[英]How to change colour in tkinter progressbar

I am using tkiner mesagebox and ttk progressbar with Python 3. I try to set a text window in one line and a progressbar in the next line. 我在Python 3中使用了tkiner mesagebox和ttk progressbar。我尝试在一行中设置文本窗口,在下一行中设置进度条。 This is working so far, but I am not able to change the colour from green (default) to another value. 到目前为止,此方法一直有效,但是我无法将颜色从绿色(默认)更改为另一个值。 With this post How to change ttk.progressBar color in python I was able to turn the colour to black, but then I don't know how to get the text over it. 通过这篇文章如何在python中更改ttk.progressBar的颜色,我能够将颜色变为黑色,但是后来我不知道如何获取文本。 Can someone help me? 有人能帮我吗?

from tkinter import *
from tkinter import messagebox
from tkinter import ttk

#bar in green with text
root = Tk()
gpw_l1 = Label(root, text="This should be a black bar")
gpw_l2 = ttk.Progressbar(root, orient="horizontal", length=500, mode="determinate")
gpw_l2.grid(row=2, column=0, pady=10)
gpw_l2["maximum"] = 1.0
x = 0.7
gpw_l2["value"] = x

gpw_l1.grid(row=0, columnspan=2)
gpw_l2.grid(row=1, columnspan=2)
root.geometry('+100+200')
root.mainloop()
root.quit()

#bar in red, but no text
root2 = Tk()
frame = Frame(root2)
frame.grid()
s = ttk.Style()
s.theme_use('clam')
s.configure("red.Horizontal.TProgressbar", foreground='red', background='black')
ttk.Progressbar(frame, style="red.Horizontal.TProgressbar", orient="horizontal", length=600, mode="determinate",
                maximum=4, value=1).grid(row=1, column=1)
frame.pack()
root2.mainloop()
root2.quit()
from tkinter import *
from tkinter import messagebox
from tkinter import ttk


#bar in red, but no text
root2 = Tk()
frame = Frame(root2)
frame.grid()
s = ttk.Style()
s.theme_use('clam')
s.configure("red.Horizontal.TProgressbar", foreground='red', background='black')
gpw_l1 = Label(frame, text="This should be a black bar").grid(row=1, column=1)
ttk.Progressbar(frame, style="red.Horizontal.TProgressbar", orient="horizontal", length=600, mode="determinate",
                maximum=4, value=1).grid(row=2, column=1)
frame.pack()
root2.mainloop()
root2.quit()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM