python有什么办法可以改变ttk按钮的背景色吗?我尝试使用样式方法,但它只是改变了边框颜色

Is there any way to change the background color of ttk buttons in python? I tried using style method but it just changes the border colour

from tkinter import *

from tkinter.ttk import *

from tkinter import ttk

root = Tk()

stl = ttk.Style()

stl.map('C.TButton',
     foreground = [('pressed','red'),('active','blue')],
     background = [('pressed','!disabled','black'),('active','white')]
)
#background not changing.It is still grey

ttk.Button(root, text='This is a button', style='C.TButton').pack()

root.mainloop()

我试过使用样式 class 并在 C.TButton 中做了一些更改,但似乎只是更改了边框颜色,而不是更改按钮的颜色。按钮保持灰色和平面帮助!

我也遇到了同样的问题。 您可以使用 TLabel 而不是 TButton 来更改预期的背景颜色。 但是,按钮级别文本周围没有填充 space。您需要使用 configure 方法指定填充。 如果指定TLabel,按钮的Style好像会丢失,还需要指定relief

from tkinter import *

from tkinter.ttk import *

from tkinter import ttk

root = Tk()

stl = ttk.Style()
root.geometry('800x600')

stl = ttk.Style()
stl.configure('C.TLabel',padding=[30,10,50,60])

stl.map('C.TLabel',
    foreground = [('pressed','red'),('active','blue')],
    background = [('pressed','!disabled','black'),('active','white')],
    relief=[('pressed', 'sunken'),
            ('!pressed', 'raised')]
)

ttk.Button(root, text='This is a button', style='C.TLabel').pack()

root.mainloop()