tkinter.dnd
---拖放支持¶
源代码: Lib/tkinter/dnd.py
注解
这是实验性的,当它被Tk DND替换时将被弃用。
这个 tkinter.dnd
模块为单个应用程序内、同一窗口内或窗口之间的对象提供拖放支持。要使对象能够被拖动,必须为其创建事件绑定,以启动拖放过程。通常,将ButtonPress事件绑定到编写的回调函数(请参见 绑定和事件 ). 函数应该调用 dnd_start()
,其中“source”是要拖动的对象,“event”是调用调用的事件(回调函数的参数)。
选择目标对象的过程如下:
鼠标下区域的自上而下搜索目标小部件
目标小部件应该有一个可调用的 dnd_accept 属性
如果 dnd_accept 不存在或返回无,搜索移动到父小部件
如果找不到目标小部件,则目标对象为“无”
打电话给 <old_target>.dnd_leave(source, event)
打电话给 <new_target>.dnd_enter(source, event)
打电话给 <target>.dnd_commit(source, event) 通知放弃
打电话给 <source>.dnd_end(target, event) 表示拖放结束
- class tkinter.dnd.DndHandler(source, event)¶
这个 DndHandler 类处理跟踪事件小部件根目录上的运动和按钮释放事件的拖放事件。
- cancel(event=None)¶
取消拖放过程。
- finish(event, commit=0)¶
执行拖放函数结束。
- on_motion(event)¶
执行拖动时,检查鼠标下方的区域是否有目标对象。
- on_release(event)¶
触发释放模式时,显示拖动结束。
- tkinter.dnd.dnd_start(source, event)¶
用于拖放过程的工厂功能。
参见