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 puedo crear otro bloque de elementos debajo de una cuadrícula en tkinter? – Python

Quiero hacer un juego de ‘laberinto’ con tkinter, y quiero mostrar algunas cosas debajo de la cuadrícula (área del juego), y esto sucedió:

Imagen

Esto sucedió porque quería poner el texto en la última línea y la primera columna de la cuadrícula.

frame = tk.Frame(window)
frame.grid(row=line+1, column=0)
label = tk.Label(master=frame, text="Dashing:")
label.pack()

¿Alguna idea de cómo puedo solucionarlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una forma de solucionar este problema es establecer el parámetro sticky del método grid en tk.EW para el área de juego y establecer el parámetro row de la etiqueta en la misma fila que el área de juego pero con una columna diferente. Esto asegurará que la etiqueta esté alineada con el área de juego y no genere superposiciones.

    Aquí tienes un ejemplo de código:

    game_area = tk.Canvas(window, width=400, height=400)
    game_area.grid(row=0, column=0, sticky=tk.EW)
    
    label = tk.Label(window, text="Dashing:")
    label.grid(row=1, column=0, sticky=tk.W)
    
    # Agrega otros elementos de la interfaz de usuario debajo de la etiqueta
    

    Este código crea un widget Canvas como el área de juego y lo coloca en la primera fila y columna de la cuadrícula con el parámetro sticky configurado en tk.EW para que abarque todo el ancho de la cuadrícula. Luego, la etiqueta se coloca en la segunda fila y primera columna con sticky configurado en tk.W para alinearse con el lado izquierdo del área de juego.

    Puedes agregar otros elementos de la interfaz de usuario debajo de la etiqueta de la misma manera, asegurándote de ajustar los parámetros row y column según sea necesario.

Comments are closed.