如何更改已禁用的TTK按钮的前景色?

时间:2018-11-01 15:32:21

标签: python tkinter ttk

当我禁用按钮时,颜色会自动变为黑色。 这是代码:

from tkinter import *
from tkinter import ttk
root=Tk()

style=ttk.Style()
style.configure('TButton', foreground='red')
bu1=ttk.Button(root, text="Hello world")
bu1.grid(row=0, column=0)

bu2=ttk.Button(root, text="Hello world2")
bu2.grid(row=1, column=0)

bu1.state(['disabled'])
bu2.state(['disabled'])

root.mainloop()

有帮助吗?

1 个答案:

答案 0 :(得分:1)

由于使用的是ttk按钮,因此可以使用样式对象的map方法将某些属性映射到不同的按钮状态。

例如,要在按钮状态为"disabled"时更改颜色,可以这样设置颜色:

style.map(
        "TButton",
        foreground=[("disabled", "black")]
)

有关更多信息,请参见《新墨西哥技术tkinter》文档上的50.2. ttk style maps: dynamic appearance changes,以及tkdocs.com上的Styles and Themes