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.

¿Las coordenadas X e Y en label.place(x=, Y=) son las coordenadas de qué parte de la etiqueta específicamente, como la esquina superior izquierda o la esquina inferior derecha, etc.?

Intenté formar un elemento de arrastrar y soltar y no entiendo qué debería usar como coordenadas en la función “drag_motion” (en el código dado a continuación), pero amablemente contesta primero qué representan la x y la Y en la instrucción “label.place(x= , y=)” especificamente en el elemento o varían?

from tkinter import*

def drag_start(event):
    label.startX = event.x
    label.startY = event.y

def drag_motion(event):
    x = event.x - label.startX
    y = event.y - label.startY 
    label.place(x=x, y=y)


window = Tk()

label = Label(window, bg="red", width=5, height=5)
label.place(x=0, y=0)

label.bind("", drag_start)
label.bind("", drag_motion)

window.mainloop()
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Las coordenadas x e y en la función label.place(x= , y= ) especifican la ubicación del widget de etiqueta en el widget principal (en este caso, la ventana Tkinter). La coordenada x especifica la posición horizontal de la etiqueta desde el borde izquierdo del widget principal, y la coordenada y especifica la posición vertical de la etiqueta desde el borde superior del widget principal.

    En cuanto a la función drag_motion(), calcula las nuevas coordenadas x e y para la etiqueta restando la posición inicial (label.startX y label.startY) de la posición actual (event.x y event.y) del puntero del mouse durante el arrastre. Estas nuevas coordenadas se utilizan luego para colocar la etiqueta en la nueva posición en el widget principal mediante label.place(x=x, y=y).

Comments are closed.