Requisitos previos: Tkinter GUI , Tkinter Widgets
Tkinter es el paquete GUI estándar de Python que nos proporciona una variedad de elementos GUI comunes, como botones, menús y varios tipos de campos de entrada y áreas de visualización que podemos usar para construir una interfaz. Estos elementos se denominan Tkinter Widgets.
Entre todas las opciones de color para un widget, no existe un método directo para cambiar el color del borde del widget. Como el color del borde de un widget está vinculado al color de fondo del widget, es imposible configurarlo individualmente. Pero tenemos algunos métodos para colorear el borde de un widget y esos métodos se analizan a continuación.
Método 1: usar el widget de marco
En lugar de usar el borde predeterminado de un widget, podemos usar el widget Frame como un borde alternativo, donde podemos establecer el color de fondo del widget Frame en cualquier color que queramos. Este método funciona con todos los widgets.
- Importar módulo Tkinter
- Crear una ventana
- Cree una variable de borde con el widget Marco con el color de fondo como sus atributos
- Cree cualquier widget con la variable de borde como atributo
- Coloque el widget en la ventana creada
Ejemplo:
Python3
# import tkinter from tkinter import * # Create Tk object window = Tk() # Set the window title window.title('GFG') # Create a Frame for border border_color = Frame(window, background="red") # Label Widget inside the Frame label = Label(border_color, text="This is a Label widget", bd=0) # Place the widgets with border Frame label.pack(padx=1, pady=1) border_color.pack(padx=40, pady=40) window.mainloop()
Producción:
Método 2: usar el fondo de resaltado y el color de resaltado
También podemos usar un fondo resaltado y un color de resaltado juntos para obtener un color de borde para nuestro widget. Incluso podemos ajustar el grosor del borde usando el atributo de grosor de resaltado. Este método solo funciona para algunos widgets como Entrada, Escala, Texto, etc.
- Importar módulo Tkinter
- Crear una ventana
- Cree un widget con el grosor de resaltado establecido en el grosor de borde deseado
- Configure los atributos de fondo de resaltado y color de resaltado para el color de borde deseado
- Coloque el widget en la ventana creada
Ejemplo:
Python3
# import tkinter from tkinter import * # Create Tk object window = Tk() # Set the window title window.title('GFG') # Entry Widget # highlightthickness for thickness of the border entry = Entry(highlightthickness=2) # highlightbackground and highlightcolor for the border color entry.config(highlightbackground = "red", highlightcolor= "red") # Place the widgets in window entry.pack(padx=20, pady=20) window.mainloop()
Producción:
Nota: Se recomienda utilizar el Método 1 para configurar el color del borde de un widget, ya que el Método 2 puede o no funcionar para algunos widgets. Pero el Método 1 funciona universalmente en cualquier widget.