wxpython: Como faço para examinar os dados arrastados em OnDragOver?

votos
5

Estou um pouco perplexo por arrastar e soltar em wxPython (mas talvez esta pergunta diz respeito ao arrastar e soltar em outros frameworks GUI também). Os quadros fornece um par de chamadas de retorno (AoEntrar e OnDragOver) que supostamente me permitem informar o sistema se a posição atual do mouse é um lugar válido para soltar o que é que está sendo arrastado. A partir desses métodos que eu possa voltar wx.DragNone, wx.DragCopy, etc. O que me deixa perplexo é que de dentro desses métodos que eu não estou autorizado a chamar GetData, o que significa que eu não estou autorizado a examinar os dados que o usuário está arrastando. Se eu não posso ver os dados, como vou saber se é OK para o usuário a cair aqui?

Publicado 25/08/2008 em 20:43
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Não há nenhuma maneira de ver dados arrastados em OnEntere OnDragOvermétodos.

A única solução que é encontrado para armazenar o item arrastado em alguma variável exemplo, que é então lido dentro destes métodos.

Respondeu 26/09/2008 em 13:15
fonte usuário

votos
1

Uma solução, que é um hack de utilidade limitada, é quando um arrasto é iniciada, armazenar os dados arrastados em uma referência global ou estática em algum lugar. Desta forma, na OnEnter e OnDragOver manipuladores, é possível obter uma referência para os dados que estão sendo arrastados. Isto é, naturalmente, só é útil para arrasta dentro da mesma aplicação (o mesmo exemplo da aplicação, na verdade).

Respondeu 25/08/2008 em 20:45
fonte usuário

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