Saltar al contenido

Cómo cambiar el color del botón ttk

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á:

ingrese la descripción de la imagen aquí

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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *