Ich bin etwas perplex durch Drag & Drop in wxPython (aber vielleicht bezieht sich diese Frage auch Drag & Drop in anderen GUI-Frameworks). Die Frameworks stellen einige Callbacks (OnEnter und OnDragOver) bereit, mit denen ich angeblich dem System mitteilen kann, ob die aktuelle Mausposition ein gültiger Ort ist, an dem das, was gerade gezogen wird, abgelegt wird. Von diesen Methoden kann ich wx.DragNone, wx.DragCopy, etc. zurückgeben. Was mich verblüfft ist, dass ich innerhalb dieser Methoden GetData nicht aufrufen darf, was bedeutet, dass ich die Daten, die der Benutzer zieht, nicht untersuchen darf. Wenn ich die Daten nicht sehen kann, wie soll ich dann wissen, ob es für den Benutzer in Ordnung ist, hier abzulegen?wxpython: Wie untersuche ich gezogene Daten in OnDragOver?
5
A
Antwort
1
Eine Lösung, die ein Hack von begrenzter Nützlichkeit ist, ist, wenn ein Ziehen initiiert wird, speichern Sie die gezogenen Daten in einer globalen oder statischen Referenz irgendwo. Auf diese Weise können Sie in den Handlern OnEnter und OnDragOver einen Verweis auf die gezogenen Daten erhalten. Dies ist natürlich nur nützlich für Drags innerhalb der gleichen Anwendung (eigentlich die gleiche Instanz der Anwendung).
1
Es gibt keine Möglichkeit, gezogene Daten in den Methoden OnEnter
und OnDragOver
zu sehen.
Die einzige Lösung, die ich gefunden habe, ist, das gezogene Element in einer Instanzvariablen zu speichern, die dann in diesen Methoden lesbar ist.
Verwandte Themen
- 1. Wie untersuche ich definierte Konstanten in PHP?
- 2. VBA Untersuche Excel
- 3. wxPython, wie feuere ich Events?
- 4. Wie installiere ich wxPython in virtualenv
- 5. Wie öffne und untersuche ich ein Moss Webpart?
- 6. Wie kann ich die über mein Fenster gezogene Datei erkennen?
- 7. dynamisches Plotten in wxpython
- 8. ondragstart, ondragover, onstart - $ scope ist nicht definiert
- 9. Wie öffne ich ein minimiertes wxPython-Fenster
- 10. Ich möchte gezogene Elemente in main div entfernen
- 11. Wie verwende ich AddSubclassFactory von wxPython?
- 12. Beobachtermuster in wxPython
- 13. WxPython in osx 10.11
- 14. Animierte Splash in WxPython
- 15. Kann ich Diagrammmodule mit wxpython verwenden?
- 16. Warum funktioniert Ondragover nicht in einem jQuery-Plugin?
- 17. wxPython: Wie suche ich nach Text in einer TextCtrl?
- 18. Wie kann ich RTF in eine wxpython RichTextCtrl einfügen?
- 19. wxPython in Python 3.4.1
- 20. Unicode und wxPython TextCtrl
- 21. Wie untersuche ich den Inhalt eines std :: vector in gdb mit dem icc-Compiler?
- 22. WxPython - Taste
- 23. wxpython Compilation
- 24. wxPython-Ausführung
- 25. wxPython: wie Paste in einer Rasterzelle implementieren?
- 26. WxPython Tutorial
- 27. wxpython wx.EVT_LEFT_DOWN
- 28. Gezogene div Orte mit Ziel wechseln
- 29. Wie Debuggen von Wxpython-Anwendungen?
- 30. wxPython Fortschrittsbalken
Können Sie ein wenig erweitern. Ich plane Wx für ein lustiges Projekt zu verwenden. Ziehen mit einer x/y-Rendite war etwas, auf das ich zählte. –
Oh, Sie können sehen, wo die Daten fallen, Sie können einfach nicht sehen, was beim Ziehen gezogen wird (bevor der Benutzer die Maustaste loslässt), was manchmal nützlich ist (zB wenn Sie den Mauszeiger abhängig von ändern möchten gezogener Inhalt). – DzinX