Themes y styles en Tkinter

Autor: | Última modificación: 13 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Si has querido saber cómo cambiar el tema o los estilos de los objetos de la ventana de tu aplicación, debes conocer qué son y para qué sirven los themes y styles en Tkinter. Esta librería no solo te permite crear una aplicación llena de funcionalidad por medio de los botones, widgets o grids, sino que también posibilita que transformes la estética (colores, fonts…) de tu aplicación y la hagas mucho más amigable al usuario. Si quieres perfeccionar tu aplicación, en este post te hablamos acerca de los themes y styles en Tkinter.

¿Por qué son necesarios los themes y styles en Tkinter?

La necesidad de usar themes y styles en Tkinter aparece cuando debemos cambiar la apariencia de nuestra aplicación, ya que no podemos utilizar otras opciones o instrucciones. Esto se debe a que, directamente, las funciones nos resultarían en un error. Entonces, los temas y los estilos solucionan este problema.

Themes en Tkinter

Hay diferentes themes en Tkinter para cada sistema operativo. Por tanto, primero debes qué tipo de temas están relacionados con el sistema operativo que utilices. Para esto, tienes que crear un estilo como una instancia del objeto estilo y el paquete ttk. Tkinter.ttk, según la documentación de Python, es un paquete reciente de Tkinter con nuevos módulos y otros conceptos modernizados para el desarrollo de las aplicaciones. Este paquete lo utilizaremos para integrar los temas en el código.

#en un principio debería estar importada la librería y el módulo ttk

from tkinter import ttk

#crear un estilo como una instancia del objeto estilo del paquete ttk

s = ttk.Style()

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

#para saber qué tipo de estilos hay en tu sistema operador

s.theme_names()

#resultarán temas según tu sistema, estos son algunos de Mac OS: (‘aqua’, ‘clam’, ‘alt’, ‘default’, ‘classic’)

#para saber qué tema se está usando. Mac OS usa por defecto aqua

s.theme_use()

#para cambiar el tema que se está usando

s.theme_use (‘clam’)

Mientras observas las características de los temas según tu sistema operativo, observarás que los controles ttk tienen un conjunto de temas en función de que sean congruentes con el aspecto general de los controles y cambian, si así se requiere.

Como ya has podido ver, los temas siempre están trabajando con los estilos. Cuanto más te adentres al mundo de los themes y styles en Tkinter, más te darás cuenta de que los temas muchas veces son restrictivos y solo tienen estilos específicos relacionados a ellos.

Styles en Tkinter

Los estilos son módulos que se asignan a los controles o widgets. Los estilos pueden ser de dos tipo: de clase y de nombre. Para jugar con un estilo, debes crear un instancia del estilo.

Para empezar, puedes mirar si un botón ya tiene algún estilo o alguna clase (que siempre debe llevar). Para ello utilizarás la siguiente función:

#cómo ver si un botón ya tiene un estilo incluido

but[‘style’]

#de qué tipo de clase es un botón

but.winfo_class()

Ahora, si deseas agregarle une estilo a un tema, deberás utilizar esta instrucción:

#los botones con la clase TButton, tendrán el estilo definido, en este caso es la fuente

but.configure (‘TButton, font = ‘courier 42’)

#para definir un estilo de tipo nombre

but.config (style = ‘miestilo.TButton’)

#para cambiar el estilo de nombre

s.configure (‘miestilo.Button’, foreground = ‘red’)

La forma de enunciación de los estilos, como foreground, puede cambiar según sea el tema al que está anclado un estilo. Por ejemplo, mientras que para el theme classic de Mac OS se utiliza el foregound para el fondo, en el theme aqua, se usa el estilo backgound.

Antes de comentarte cuál es el siguiente paso, te queremos dar un consejo para el desarrollo de tus aplicaciones con themes y styles en Tkinter. Si quieres realizar una aplicación que se integre completamente con el sistema operativo donde se está programando, te recomendamos utilizar el paquete de ttk. No obstante, si quiere realizar una app que no esté ligada a los modelos de tu sistema, puedes utilizar tk. Ahora, esto no impide que una misma ventana puedes utilizar ambos paquetes, pues es según las necesidades y dinámicas de la aplicación que piensas desarrollar.

¿Cuál es el siguiente paso?

Gracias a este y al resto de posts que has leído sobre Tkinter en KeepCoding, estamos seguros que puedes ir construyendo una aplicación de escrito más completa y amigable para el usuario. Los themes y styles en Tkinter te permitirán manejar cómo se ven todos los objetos que forman parte de la pantalla de tu aplicación.

Si quieres perfeccionar los conocimientos aprendidos acerca los themes y styles en Tkinter y sus otras herramientas y funciones, te recomendamos echarle un vistazo al Bootcamp Aprende a Programar desde Cero. En 4 meses y pasando por 5 etapas de conocimientos teóricos y prácticos sobre programación, te convertirás en un buen programador junior en Python. ¡Solicita información y apúntate ya!

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!