es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo alinear a la izquierda los botones en tkinter?

El siguiente código

root = tk.Tk()
frame = ttk.Frame(root, padding=10)
frame.grid()

<h1>Examinar</h1>

<p>tk.Text(frame, state="disabled", height=1).grid(column=0, row=0, columnspan=3, sticky="W", pady=5, ipadx=2, ipady=2)
ttk.Button(frame, text="Examinar", command=None).grid(column=3, row=0, sticky="E")</p>

<h1>Archivos seleccionados</h1>

<p>tk.Text(frame, state="disabled").grid(column=0, row=1, columnspan=4, sticky="EW", pady=10)</p>

<h1>Opciones</h1>

<p>ttk.Button(frame, text="SELECCIONAR", command=None).grid(column=0, row=2, sticky="W")
ttk.Button(frame, text="ELIMINAR", command=None).grid(column=1, row=2, sticky="W")
ttk.Button(frame, text="Combinar", command=None).grid(column=2, row=2, sticky="W")</p>

<p>ttk.Button(frame, text="Cerrar", command=root.destroy).grid(column=3, row=2, sticky="E")</p>

<p>root.mainloop()

produce esto,

gui

pero quiero que los botones ELIMINAR y Combinar estén alineados a la izquierda para que estén juntos con el botón SELECCIONAR. ¿Cómo puedo lograr esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para alinear los botones DELETE y MERGE con el botón SELECT, necesitamos modificar el parámetro columnspan del widget tk.Text que se encuentra en la fila 0. Actualmente, tiene un columnspan de 3, por lo que ocupará las primeras tres columnas de la cuadrícula, empujando los botones DELETE y MERGE hacia la derecha. Necesitamos aumentar el columnspan a 2 para que solo ocupe las primeras dos columnas, dejando la tercera columna para los botones DELETE y MERGE.

    Aquí está el código modificado:

    root = tk.Tk()
    frame = ttk.Frame(root, padding=10)
    frame.grid()
    
    # Browse
    tk.Text(frame, state="disabled", height=1).grid(column=0, row=0, columnspan=2, sticky="W", pady=5, ipadx=2, ipady=2) # columnspan modificado
    ttk.Button(frame, text="Browse", command=None).grid(column=2, row=0, sticky="E") # columna ajustada
    
    # Archivos seleccionados
    tk.Text(frame, state="disabled").grid(column=0, row=1, columnspan=4, sticky="EW", pady=10)
    
    # Opciones
    ttk.Button(frame, text="SELECT", command=None).grid(column=0, row=2, sticky="W")
    ttk.Button(frame, text="DELETE", command=None).grid(column=1, row=2, sticky="W")
    ttk.Button(frame, text="Merge", command=None).grid(column=2, row=2, sticky="W")
    
    ttk.Button(frame, text="Close", command=root.destroy).grid(column=3, row=2, sticky="E")
    
    root.mainloop()
    

    Y aquí está el resultado:

    [![gui][2]][2]

    Hemos modificado el columnspan del widget tk.Text a 2 y ajustado la columna del botón Browse a 2 también. De esta manera, los botones DELETE y MERGE están alineados a la izquierda con el botón SELECT.

Comments are closed.