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í?wxpython: ¿Cómo examino los datos arrastrados en OnDragOver?
5
A
Respuesta
1
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).
1
No hay forma de ver los 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 se pueda leer dentro de estos métodos.
Cuestiones relacionadas
- 1. Obtener datos de ruta arrastrados fuera de Google Maps
- 2. ¿Cómo instalo wxPython en virtualenv
- 3. Focus-follows-mouse en wxPython?
- 4. Adición wxpython en pygame
- 5. Cómo instalar wxPython usando virtualenv
- 6. Arrastre HTML5 y soltar ondragover no disparar en Chrome
- 7. ¿Línea divisible redimensionable en wxpython?
- 8. ¿Cómo depurar las aplicaciones wxpython?
- 9. ¿Cómo instalo wxPython en Mac OS X?
- 10. Finalización automática En wxPython wxComboBox
- 11. Ejemplo de wxPython WebView
- 12. wxPython StaticText Widget Fuente
- 13. wxPython Frame ¿activar/desactivar?
- 14. wxPython Disable Frame Frameizing
- 15. Doble búfer con wxpython
- 16. Batallando con wxpython
- 17. Borrado de fondo en matplotlib usando wxPython
- 18. ¿Cómo examino el contenido de un std :: vector en gdb, usando el compilador icc?
- 19. Aceptación de archivos arrastrados en una aplicación Cocoa
- 20. wxPython barra de progreso
- 21. ¿Cómo se usa AddSubclassFactory de wxPython?
- 22. Tutorial de WXpython
- 23. cherrypy y wxpython
- 24. wxPython 2.9 en Mac Os X
- 25. Cómo hacer algo como una caja de registro en wxPython
- 26. Instalar wxPython en virtualenv bajo Linux
- 27. wxPython, establecer el valor de StaticText()
- 28. wxPython: Actualizar la lista wx.ListBox
- 29. WxPython ¿Incompatible con Snow Leopard?
- 30. wxPython campo de cambio en la pestaña
Puede ampliar un poco esto. Estaba/estoy planeando usar Wx para un proyecto divertido. Arrastrando con un retorno x/y, era algo en lo que estaba contando. –
Oh, PUEDES ver dónde se insertan los datos, simplemente no puedes ver lo que se arrastra mientras se arrastra (antes de que el usuario suelte el botón del mouse), lo que a veces es útil (por ejemplo, si quieres cambiar el puntero del mouse dependiendo contenido arrastrado). – DzinX