tkinter.dnd --- Drag and drop support

Code source : Lib/tkinter/dnd.py


Note

Ceci est expérimental et devrait être obsolète lorsqu'il sera remplacé par le 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 sélection d'un objet cible se produit comme suit :

  1. Recherche descendante de la zone sous la souris pour le widget cible

  • Le widget cible doit avoir un attribut appelable dnd_accept

  • If dnd_accept is not present or returns None, search moves to parent widget

  • If no target widget is found, then the target object is None

  1. Appel à <old_target>.dnd_leave(source, event)

  2. Appel à <new_target>.dnd_enter(source, event)

  3. Appel à <target>.dnd_commit(source, event) pour notifier le déposer.

  4. Appel à <source>.dnd_end(target, event) pour signaler la fin du glisser-déposer

class tkinter.dnd.DndHandler(source, event)

La classe DndHandler gère les événements de glisser-déposer qui suivent les événements Motion et ButtonRelease à la racine du widget d'événement.

cancel(event=None)

Annule le processus de glisser-déposer.

finish(event, commit=0)

Exécute les fonctions de fin de glisser-déposer.

on_motion(event)

Inspect area below mouse for target objects while a drag is performed.

on_release(event)

Signale la fin de la traînée lorsque le modèle de relâchement est déclenché.

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.

Voir aussi

Bindings and events