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