tkinter.dnd — Drag and drop support¶
Вихідний код: Lib/tkinter/dnd.py
Примітка
Це є експериментальним і має бути застарілим, коли його буде замінено на 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 Прив’язки та події). 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).
Вибір цільового об’єкта відбувається наступним чином:
Пошук зверху вниз області під курсором миші для цільового віджета
Цільовий віджет повинен мати атрибут dnd_accept, який можна викликати
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
Виклик * <old_target> .dnd_leave(джерело, подія)*
Виклик * <new_target> .dnd_enter(джерело, подія)*
Зателефонуйте на номер * <target> .dnd_commit(джерело, подія)*, щоб повідомити про скидання
Виклик * <source> .dnd_end(target, event)*, щоб повідомити про закінчення перетягування
- class tkinter.dnd.DndHandler(source, event)¶
Клас DndHandler обробляє події перетягування та відстеження подій Motion і ButtonRelease у корені віджета події.
- cancel(event=None)¶
Скасуйте процес перетягування.
- finish(event, commit=0)¶
Виконати кінець функцій перетягування.
- on_motion(event)¶
Під час перетягування перевірте область під мишею на наявність цільових об’єктів.
- on_release(event)¶
Сигнал про кінець перетягування, коли спрацьовує схема випуску.
- tkinter.dnd.dnd_start(source, event)¶
Заводська функція для процесу перетягування.
Дивись також