tkinter.dnd --- 拖放�作支�¶

�代�: Lib/tkinter/dnd.py


备注

此模�是实验性的且在为 Tk DND 所替代�将被弃用。

tkinter.dnd 模�为�个应用内部的对象�供了在�一窗�中或多个窗�间的拖放�作支�。 �将对象设为�拖放,你必须为其创建�动拖放进程的事件绑定。 通常,你�将 ButtonPress 事件绑定到你所编写的回调函数 (�� 绑定和事件)。 该函数应当调用 dnd_start(),其中 'source' 为�拖动的对象,而 'event' 为�起调用的事件(你的回调函数的�数)。

目标对象的选择方�如下:

  1. 从顶至底地在鼠标之下的区域中�索目标控件

  • 目标控件应当具有一个指å�‘å�¯è°ƒç”¨å¯¹è±¡çš„ dnd_accept 属性

  • 如果 dnd_accept ä¸�存在或是返回 None,则将转至父控件中æ�œç´¢

  • 如果目标控件未找到,则目标对象为 None

  1. 调用 <old_target>.dnd_leave(source, event)

  2. 调用 <new_target>.dnd_enter(source, event)

  3. 调用 <target>.dnd_commit(source, event) �通知释放

  4. 调用 <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)¶

用于拖放进程的工厂函数。