Pregunta

Estoy un poco perplejo al arrastrar y soltar en wxPython (pero quizás esta pregunta también se refiere a arrastrar y soltar en otros marcos GUI).Los marcos proporcionan un par de devoluciones de llamada (OnEnter y OnDragOver) que supuestamente me permiten informar al sistema si la posición actual del mouse es un lugar válido para soltar lo que sea que se esté arrastrando.A partir de estos métodos puedo devolver wx.DragNone, wx.DragCopy, etc.Lo que me desconcierta es que desde estos métodos no puedo llamar a GetData, lo que significa que no puedo examinar los datos que el usuario está arrastrando.Si no puedo ver los datos, ¿cómo se supone que debo saber si está bien que el usuario ingrese aquí?

¿Fue útil?

Solución

Una solución, que es un truco de utilidad limitada, es cuando se inicia un arrastre, almacenar los datos arrastrados en una referencia global o estática en algún lugar.De esta manera, en los manejadores OnEnter y OnDragOver, es posible obtener una referencia a los datos que se están arrastrando.Por supuesto, esto sólo es útil para arrastres dentro de la misma aplicación (en realidad, la misma instancia de la aplicación).

Otros consejos

No hay forma de ver los datos arrastrados OnEnter y OnDragOver métodos.

La única solución que encontré es almacenar el elemento arrastrado en alguna variable de instancia que luego sea legible dentro de estos métodos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top