Frage

Ich bin ein bisschen ratlos, per drag-and-drop in wxPython (aber vielleicht Fragen betrifft drag-and-drop in andere GUI-frameworks auch).Die frameworks bietet ein paar Rückrufe (OnEnter und OnDragOver), die angeblich erlauben, mich zu informieren das system, ob die aktuelle position der Maus ist eine gültige Platz zu fallen, was auch immer es ist, das gezogen wird.Von diesen Methoden kann ich Rückkehr wx.DragNone, wx.DragCopy, etc.Was verwirrt mich ist, dass innerhalb dieser Methoden darf ich nicht nennen, GetData, was bedeutet, ich bin nicht erlaubt zu überprüfen die Daten, die der Nutzer ziehen.Wenn ich nicht sehen können die Daten, die, wie soll ich wissen, ob es OK ist für den Nutzer fallen hier?

War es hilfreich?

Lösung

Eine Lösung, die ist ein hack von begrenztem nutzen, ist, wenn eine Gegenkraft eingeleitet, zu speichern, werden die hinzugefügten Daten in eine Globale oder statische Referenz irgendwo.Auf diese Weise, in dem OnEnter-und OnDragOver-Handler, es ist möglich, eine Referenz zu den Daten gezogen wird.Dies ist natürlich nur nützlich für die drags in der gleichen Anwendung (die gleiche Instanz der Anwendung, eigentlich).

Andere Tipps

Es gibt keine Möglichkeit zu sehen, gezogen von Daten in OnEnter und OnDragOver Methoden.

Die einzige Lösung, die ich fand, ist zu speichern Sie die gezogene Element in eine Instanz-variable, die dann lesbar ist, innerhalb dieser Methoden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top