¿Qué son y cómo funcionan las anclas de Tkinter?
Capítulo 9: Los anclajes de Tkinter
En este capítulo vas a ver las anclas de Tkinter. En inglés lo verás escrito cómo anchor.
Los anclajes o anclas en Tkinter se utilizan para definir dónde se coloca el texto de los widgets.
Estos anclajes utilizan el sistema de puntos cardinales para posicionar los elementos.
Es posible que te hayas fijado en que el formulario del capítulo anterior aparece por defecto centrado. Normalmente, este no es el resultado que se espera, ya que si hay opciones más largas que otras hará que quede todo descolocado.
Mira un ejemplo de Radiobutton() formando un arco:
Mira las diferentes posiciones de anchor que podemos utilizar:
from tkinter import *
root = Tk()
titulo1 = Label(root,text="Noroeste").pack(anchor=NW)
titulo2 = Label(root,text="Norte").pack(anchor=N)
titulo3 = Label(root,text="Noreste").pack(anchor=NE)
titulo4 = Label(root,text="Oeste").pack(anchor=W)
titulo5 = Label(root,text="Centro").pack(anchor=CENTER)
titulo6 = Label(root,text="Este").pack(anchor=E)
titulo7 = Label(root,text="Sudoeste").pack(anchor=SW)
titulo8 = Label(root,text="Sud").pack(anchor=S)
titulo9 = Label(root,text="Sudeste").pack(anchor=SE)
mainloop()
Si ejecutas el código te aparecerá una ventana como esta:
Por lo que si aplicamos el ancla NW
a los Radiobutton() quedarán así:
from tkinter import *
root = Tk()
def actualiza_radio(value):
Label(root, text=value).pack()
titulo = Label(root,text="Seleccione una opción").pack()
opciones = [["Color Rojo","rojo"],
["Color Azul","azul"],
["Color verde","verde"],
["Color amarillo","amarillo"]]
colores = StringVar()
colores.set("rojo")
for opcion, valor in opciones:
Radiobutton(root, text=opcion, value=valor, variable=colores).pack(anchor=NW)
boton_envia = Button(root,
text="Enviar",
command=lambda: actualiza_radio(colores.get())).pack()
root.mainloop()
Así aparecen todos alineados a la izquierda.
Comentarios
Si te quedan dudas sobre el temario, sobre Tkinter, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.