wxglade wxformbuilder tutorial examples descargar python user-interface drag-and-drop wxpython wxwidgets

wxformbuilder - wxpython tutorial



wxpython: ¿Cómo examino los datos arrastrados en OnDragOver? (2)

Una solución, que es un truco de utilidad limitada, es cuando se inicia un arrastre, almacena los datos arrastrados en una referencia global o estática en alguna parte. De esta forma, en los controladores OnEnter y OnDragOver, es posible obtener una referencia a los datos que se están arrastrando. Esto, por supuesto, solo es útil para drags dentro de la misma aplicación (la misma instancia de la aplicación, en realidad).

Estoy un poco perplejo por arrastrar y soltar en wxPython (pero tal vez estas preguntas se refieren a arrastrar y soltar en otros marcos de la GUI también). 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 colocar lo que sea que esté siendo arrastrado. 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 los deje aquí?


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

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