wxPython 拖放
提供 拖放 非常直观易用。在许多桌面应用程序中,用户可以通过拖动鼠标并将其放在另一个窗口上,从而在窗口之间复制或移动对象。
拖放操作包括以下步骤:
- 声明一个拖放目标
- 创建数据对象
- 创建wx.DropSource
- 执行拖放操作
- 取消或接受拖放
在wxPython中,有两个预定义的拖放目标:
- wx.TextDropTarget
- wx.FileDropTarget
许多wxPython小部件支持拖放操作。源控件必须启用拖放功能,而目标控件必须能够接受(或拒绝)拖放。
用户拖动的源数据被放置在目标对象上。目标对象的OnDropText()方法消耗数据。如果需要,源对象的数据可以被删除。
示例
在以下示例中,两个ListCtrl对象水平放置在一个Box Sizer中。左侧的列表填充了一个languages[]的数据,它被指定为拖放的源。右侧是目标对象。
第二个列表控件是空的,并且是TextDropTarget类对象的参数。
OnDropText()方法将源数据添加到目标列表控件中。
拖放操作由事件绑定器初始化。
OnDragInit()函数将拖动数据放置在目标上并从源中删除。
完整的代码如下−
上面的代码产生以下输出 –