tkinter.dnd
— Suporte para arrastar e soltar¶
Código-fonte: Lib/tkinter/dnd.py
Nota
Isto é experimental e deverá ser descontinuado quando for substituído pelo Tk DND.
O módulo tkinter.dnd
fornece suporte de arrastar e soltar para objetos dentro de uma única aplicação, dentro da mesma janela ou entre janelas. Para permitir que um objeto seja arrastado, você deve criar uma associação de evento para ele que inicie o processo de arrastar e soltar. Normalmente, você associa um evento ButtonPress a uma função de retorno que você escreve (consulte Ligações e Eventos). A função deve chamar dnd_start()
, onde ‘source’ é o objeto a ser arrastado e ‘event’ é o evento que invocou a chamada (o argumento para sua função de retorno).
A seleção de um objeto de destino ocorre da seguinte forma:
Pesquisa de cima para baixo da área sob o mouse para o widget alvo
O widget alvo deve ter um atributo chamável dnd_accept
Se dnd_accept não estiver presente ou retornar
None
, a pesquisa vai para o widget paiSe nenhum widget de destino for encontrado, o objeto alvo é
None
Chamada para <old_target>.dnd_leave(source, event)
Chamada para <new_target>.dnd_enter(source, event)
Chamada para <target>.dnd_commit(source, event) para notificar que soltou
Chamada para <source>.dnd_end(target, event) para sinalizar o fim do arrastar e soltar
- class tkinter.dnd.DndHandler(source, event)¶
A classe DndHandler trata de eventos de arrastar e soltar que rastreiam eventos Motion e ButtonRelease na raiz do widget de evento.
- cancel(event=None)¶
Cancela o processo de arrastar e soltar.
- finish(event, commit=0)¶
Executa o fim das funções de arrastar e soltar.
- on_motion(event)¶
Inspeciona a área abaixo do mouse para objetos alvos enquanto o arrasto é executado.
- on_release(event)¶
Sinaliza o fim do arrasto quando o padrão de liberação for acionado.
- tkinter.dnd.dnd_start(source, event)¶
Função de fábrica para processo de arrastar e soltar.
Ver também