tkinter.dnd — 拖放支持 — Python 文档
来自菜鸟教程
Python/docs/3.10/library/tkinter.dnd
tkinter.dnd[X15X] — 拖放支持
源代码: :source:`Lib/tkinter/dnd.py`
笔记
这是实验性的,当它被 Tk DND 取代时将被弃用。
tkinter.dnd[X19X] 模块为单个应用程序内、同一窗口内或窗口之间的对象提供拖放支持。 要使对象能够被拖动,您必须为其创建一个事件绑定以启动拖放过程。 通常,您将 ButtonPress 事件绑定到您编写的回调函数(请参阅 绑定和事件 )。 该函数应调用 dnd_start(),其中“源”是要拖动的对象,“事件”是调用调用的事件(回调函数的参数)。
目标对象的选择发生如下:
- 鼠标下区域自上而下搜索目标小部件
- 目标小部件应该有一个可调用的 dnd_accept 属性
- 如果 dnd_accept 不存在或返回 None,则搜索移动到父小部件
- 如果未找到目标小部件,则目标对象为 None
拨电至 .dnd_leave(来源,事件)
拨电至 .dnd_enter(来源,事件)
拨电至 .dnd_commit(来源,事件) 通知放弃
拨电至 .dnd_end(目标,事件) 表示拖放结束
- 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)
- 拖放过程的工厂功能。