tkinter.dnd — Drag and Drop-Unterstützung¶
Quellcode: Lib/tkinter/dnd.py
Hinweis
Dies ist experimentell und wird voraussichtlich veraltet sein, wenn es durch das Tk DND ersetzt wird.
Das Modul tkinter.dnd bietet Drag-and-Drop-Unterstützung für Objekte innerhalb einer einzelnen Anwendung, innerhalb desselben Fensters oder zwischen Fenstern. Um ein Objekt ziehbar zu machen, müssen Sie für dieses Objekt eine Ereignisbindung erstellen, die den Drag-and-Drop-Prozess startet. Typischerweise binden Sie ein ButtonPress-Ereignis an eine von Ihnen geschriebene Callback-Funktion (siehe Bindings und Ereignisse). Die Funktion sollte dnd_start() aufrufen, wobei 'source' das zu ziehende Objekt und 'event' das Ereignis ist, das den Aufruf ausgelöst hat (das Argument Ihrer Callback-Funktion).
Die Auswahl eines Zielobjekts erfolgt wie folgt:
Suche von oben nach unten nach dem Widget, das das Ziel unter der Maus ist
Das Ziel-Widget sollte ein aufrufbares Attribut dnd_accept haben
Wenn dnd_accept nicht vorhanden ist oder
Nonezurückgibt, wird die Suche zum Eltern-Widget fortgesetztWenn kein Ziel-Widget gefunden wird, ist das Zielobjekt
None
Aufruf von <old_target>.dnd_leave(source, event)
Aufruf von <new_target>.dnd_enter(source, event)
Aufruf von <target>.dnd_commit(source, event) zur Benachrichtigung über das Ablegen
Aufruf von <source>.dnd_end(target, event) zur Anzeige des Endes des Drag-and-Drop-Vorgangs
- class tkinter.dnd.DndHandler(source, event)¶
Die Klasse DndHandler verwaltet Drag-and-Drop-Ereignisse und verfolgt Motion- und ButtonRelease-Ereignisse auf der Wurzel des Ereignis-Widgets.
- cancel(event=None)¶
Bricht den Drag-and-Drop-Prozess ab.
- finish(event, commit=0)¶
Führt die Funktionen zum Beenden des Drag-and-Drop-Vorgangs aus.
- on_motion(event)¶
Überprüft während des Ziehens den Bereich unter der Maus auf Zielobjekte.
- on_release(event)¶
Signalisiert das Ende des Ziehens, wenn das Release-Muster ausgelöst wird.
- tkinter.dnd.dnd_start(source, event)¶
Factory-Funktion für den Drag-and-Drop-Prozess.
Siehe auch