python - ejemplos - Color de ventana predeterminado Tkinter y códigos de color hexadecimal
python tkinter background color (3)
Me gustaría saber el color predeterminado de la ventana en Tkinter cuando simplemente creas una ventana:
root = Tk()
Si hay uno, ¿es posible configurar widgets del mismo color o usar un código de color hexadecimal? (usando rgb)
El código de color que he encontrado para la ventana ''normal'' es:
R = 240, G = 240, B = 237
Gracias.
No estoy seguro exactamente de lo que está buscando, pero ¿funcionará?
import Tkinter
mycolor = ''#%02x%02x%02x'' % (64, 204, 208) # set your favourite rgb color
mycolor2 = ''#40E0D0'' # or use hex if you prefer
root = Tkinter.Tk()
root.configure(bg=mycolor)
Tkinter.Button(root, text="Press me!", bg=mycolor, fg=''black'',
activebackground=''black'', activeforeground=mycolor2).pack()
root.mainloop()
Si solo desea encontrar el valor actual de la ventana y configurar los widgets para usarlo, cget
podría ser lo que desea:
import Tkinter
root = Tkinter.Tk()
defaultbg = root.cget(''bg'')
Tkinter.Button(root,text="Press me!", bg=defaultbg).pack()
root.mainloop()
Si desea establecer el color de fondo predeterminado para los nuevos widgets, puede usar el tk_setPalette(self, *args, **kw)
:
root.tk_setPalette(background=''#40E0D0'', foreground=''black'',
activeBackground=''black'', activeForeground=mycolor2)
Tkinter.Button(root, text="Press me!").pack()
Entonces sus widgets tendrían este color de fondo por defecto, sin tener que configurarlo en los parámetros del widget. Hay mucha información útil provista con las funciones de ayuda en línea import Tkinter; help(Tkinter.Tk)
import Tkinter; help(Tkinter.Tk)
La respuesta de rudivonstaden me condujo a una solución al problema, aunque por algún motivo, root.cget("bg")
falla porque "bg"
es un nombre de color desconocido.
Sin embargo, saber que un widget tiene un diccionario que contiene sus propiedades significa que root["bg"]
devuelve el color de fondo del widget.
Por lo tanto, si crea una ventana llamada myWindow sin anular el color de fondo predeterminado de su sistema, myWindow["bg"]
es el color de fondo predeterminado para una ventana, que se puede usar al crear campos de texto sin marco dentro de esa ventana.
some_widget (bg = some_widget._root (). cget (''bg''))