Solución:
Desafortunadamente, no existe una manera fácil de cambiar el primer plano de un botón desde el ttk
Biblioteca. Siempre es el gris estándar de Windows como en su imagen.
Pero puedes conseguir fácilmente lo que quieres con un tkinter.Button
si configura las opciones correctas. A continuación se muestra un script de ejemplo:
import tkinter as tk
root = tk.Tk()
btn = tk.Button(root,
bg='#000000',
fg='#b7f731',
relief="flat",
text="hello button",
width=20)
btn.pack()
root.mainloop()
Y así es como se verá:
Además, el tono de verde que elegí fue solo un ejemplo que pensé que estaba bastante cerca de lo que querías. Pero puede especificar cualquier código de color hexadecimal que desee. Si necesita convertir un valor RGB en hexadecimal, un truco simple es usar str.format
al igual que:
>>> rgb = (183, 247, 49)
>>> '#{:02x}{:02x}{:02x}'.format(*rgb)
'#b7f731'
>>>
Aunque no es tan simple como con los botones Tk, es posible. En ttk, si establece el atributo theme_use en cualquiera de estos: (‘winnative’, ‘clam’, ‘alt’, ‘default’, ‘classic’, ‘vista’, ‘xpnative’), debería poder modificar el comportamiento predeterminado. Establecí el atributo “style.map” para evitar el cambio de color de fondo debido al desplazamiento del mouse (el estado del botón siempre es ‘activo’).
import tkinter as tk
from tkinter import ttk
style = ttk.Style()
style.theme_use('alt')
style.configure('TButton', background = 'red', foreground = 'white', width = 20, borderwidth=1, focusthickness=3, focuscolor="none")
style.map('TButton', background=[('active','red')])
root = tk.Tk()
button = ttk.Button(root,text="Quit")
button.place(relx=0.3,rely=0.4)
root.mainloop()
Espero que esto ayude.
import ttk
root.style = ttk.Style()
#root.style.theme_use("clam")
style.configure('TButton', background='black')
style.configure('TButton', foreground='green')
button= ttk.Button(self, text="My background is black and my foreground is green.")
funciona para mi si quieres cambiar todos sus botones al que “desee”, con Python 2.7 y Tkinter 8.6