tkinter.dnd
— Drag and drop support¶
Código fuente: Lib/tkinter/dnd.py
Nota
Esto es experimental y quedará obsoleto cuando se sustituya por el Tk DND.
El módulo tkinter.dnd
proporciona soporte para arrastrar y soltar objetos dentro de una sola aplicación, dentro de la misma ventana o entre ventanas. Para permitir que se arrastre un objeto, debe crear un enlace de evento para él que inicie el proceso de arrastrar y soltar. Por lo general, vincula un evento ButtonPress a una función de devolución de llamada que escribe (consulte Enlaces y eventos). La función debe llamar a dnd_start()
, donde “fuente” es el objeto que se va a arrastrar y “evento” es el evento que invoca la llamada (el argumento de la función de devolución de llamada).
La selección de un objeto de destino ocurre de la siguiente manera:
Búsqueda de arriba hacia abajo del área debajo del mouse para el widget de destino
El widget de destino debe tener un atributo dnd_accept invocable
If dnd_accept is not present or returns
None
, search moves to parent widgetIf no target widget is found, then the target object is
None
Llama a <old_target>.dnd_leave(source, event)
Llama a <new_target>.dnd_enter(source, event)
Llama a <target>.dnd_commit(source, event) para notificar la caída
Llama a <source>.dnd_end(target, event) para señalar el final de arrastrar y soltar
- class tkinter.dnd.DndHandler(source, event)¶
La clase DndHandler maneja los eventos de arrastrar y soltar que rastrean los eventos Motion y ButtonRelease en la raíz del widget de eventos.
- cancel(event=None)¶
Cancela el proceso de arrastrar y soltar.
- finish(event, commit=0)¶
Ejecuta el fin de las funciones de arrastrar y soltar.
- on_motion(event)¶
Inspecciona el área debajo del mouse en busca de objetos de destino mientras se realiza el arrastre.
- on_release(event)¶
Señal de fin de arrastre cuando se activa el patrón de liberación.
- tkinter.dnd.dnd_start(source, event)¶
Función de fábrica para el proceso de arrastrar y soltar.
Ver también