wxPython: Hvordan undersøke jeg dratt data i OnDragOver?

stemmer
5

Jeg er litt forvirret av dra og slipp i wxPython (men kanskje dette spørsmål gjelder å dra og slippe andre GUI rammeverk i tillegg). Rammene gir et par callbacks (OnEnter og OnDragOver) som angivelig tillater meg å informere systemet om gjeldende museposisjon er et gyldig sted å slippe uansett hva det er som blir dratt. Fra disse metodene kan jeg returnere wx.DragNone, wx.DragCopy, etc. Hva klaff meg er at fra disse metodene jeg ikke lov til å kalle GetData, noe som betyr at jeg ikke får lov til å undersøke data som brukeren er å dra. Hvis jeg ikke kan se dataene, hvordan skal jeg vite om det er OK for brukeren å slippe her?

Publisert på 25/08/2008 klokken 19:43
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Det er ingen måte å se dratt data i OnEnterog OnDragOvermetoder.

Den eneste løsningen fant er å lagre den slepte objektet i noen tilfelle variabel som deretter kan leses innenfor disse metoder.

Svarte 26/09/2008 kl. 12:15
kilden bruker

stemmer
1

En løsning, som er en kremmer begrenset nytteverdi, er når et drag initieres, lagre dras data i et globalt eller statisk referanse sted. På denne måten i OnEnter og OnDragOver handlers, er det mulig å få en henvisning til data som blir dradd. Dette er selvfølgelig bare nyttig for drag i det samme programmet (den samme forekomst av programmet, faktisk).

Svarte 25/08/2008 kl. 19:45
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more