¿Cómo cambiar el color del borde en el widget Tkinter?

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.

Publicación traducida automáticamente

Artículo escrito por debrc y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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