Domanda

Io sono un po ' perplesso da trascinare in wxPython (ma questo, forse, le domande riguardano trascinare in altre GUI quadri).Il framework fornisce un paio di funzioni di callback (OnEnter e OnDragOver) che presumibilmente mi permetta di informare il sistema se la posizione corrente del mouse è un posto valido per rilasciare qualsiasi cosa che viene trascinato.Da questi metodi posso tornare wx.DragNone, wx.DragCopy, etc.Quello che mi sconcerta è che da all'interno di questi metodi non sono autorizzati a chiamare GetData, il che significa che non mi è permesso di esaminare i dati che l'utente sta trascinando.Se io non vedo i dati, come faccio a sapere se è OK per l'utente di fare un salto qui?

È stato utile?

Soluzione

Una soluzione, che è un trucco di utilità limitata, è quando un trascinamento è avviato, memorizzare i dati trascinati in un mondiale o un riferimento statico da qualche parte.In questo modo, in OnEnter e OnDragOver gestori, è possibile ottenere un riferimento ai dati di essere trascinato.Questo è, naturalmente, utili solo per la trascina all'interno della stessa applicazione (la stessa istanza dell'applicazione, in realtà).

Altri suggerimenti

Non c'è modo di vedere i dati trascinati in OnEnter e OnDragOver i metodi.

L'unica soluzione che ho trovato è quello di memorizzare l'elemento trascinato in qualche variabile di istanza che è quindi leggibile all'interno di questi metodi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top