Question

Je suis un peu perplexe face au glisser-déposer dans wxPython (mais peut-être que cette question concerne également le glisser-déposer dans d'autres frameworks GUI).Les frameworks fournissent quelques rappels (OnEnter et OnDragOver) qui sont censés me permettre d'informer le système si la position actuelle de la souris est un endroit valide pour déposer ce qui est déplacé.À partir de ces méthodes, je peux renvoyer wx.DragNone, wx.DragCopy, etc.Ce qui me déroute, c'est qu'à partir de ces méthodes, je ne suis pas autorisé à appeler GetData, ce qui signifie que je ne suis pas autorisé à examiner les données que l'utilisateur fait glisser.Si je ne peux pas voir les données, comment suis-je censé savoir si l'utilisateur peut les déposer ici ?

Était-ce utile?

La solution

Une solution, qui est un hack d'utilité limitée, consiste à stocker les données déplacées dans une référence globale ou statique quelque part lorsqu'un glisser est lancé.De cette façon, dans les gestionnaires OnEnter et OnDragOver, il est possible d'obtenir une référence aux données déplacées.Ceci n'est bien sûr utile que pour les glisser au sein de la même application (la même instance de l'application, en fait).

Autres conseils

Il n'y a aucun moyen de voir les données déplacées dans OnEnter et OnDragOver méthodes.

La seule solution que j'ai trouvée est de stocker l'élément déplacé dans une variable d'instance qui est ensuite lisible dans ces méthodes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top