如何在tkinter progressb中改变颜色

2024-04-25 13:49:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python3中使用tkiner mesagebox和ttk progressbar。我试图在一行设置一个文本窗口,在下一行设置一个progressbar。到目前为止,这是有效的,但我不能改变颜色从绿色(默认)到另一个值。有了这篇文章How to change ttk.progressBar color in python我可以把颜色变成黑色,但是我不知道如何才能把文本覆盖起来。有人能帮我吗?在

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()

Tags: textinfromimporttkinterbarredroot
1条回答
网友
1楼 · 发布于 2024-04-25 13:49:57
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()

相关问题 更多 >