Esto es experimental y quedará obsoleto cuando se sustituya por el
Tk DND.
The "tkinter.dnd" module provides drag-and-drop support for objects
within a single application, within the same window or between
windows. To enable an object to be dragged, you must create an event
binding for it that starts the drag-and-drop process. Typically, you
bind a ButtonPress event to a callback function that you write (see
Bindings and events). The function should call "dnd_start()", where
source is the object to be dragged, and event is the event that
invoked the call (the argument to your callback function).
La selección de un objeto de destino ocurre de la siguiente manera:
Top-down search of the area under the mouse for a target widget:
the target widget should have a callable dnd_accept attribute;
if dnd_accept is not present or returns "None", the search
moves to the parent widget;
if no target widget is found, the target object is "None".
Call to ".dnd_leave(source, event)".
Call to ".dnd_enter(source, event)".
Call to ".dnd_commit(source, event)" to notify of the drop.
Call to ".dnd_end(target, event)" to signal the end of
drag-and-drop.
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)
Inspect area below mouse for target objects while a drag is
performed.
on_release(event)
Señal de fin de arrastre cuando se activa el patrón de
liberación.
tkinter.dnd.dnd_start(source, event)
Factory function for the drag-and-drop process. Return the
"DndHandler" instance managing the drag, or "None" if a drag could
not be started.