wxPython - 拖放
-
简述
提供drag and drop对用户来说非常直观。它存在于许多桌面应用程序中,用户只需用鼠标将对象拖放到另一个窗口上,就可以将对象从一个窗口复制或移动到另一个窗口。拖放操作涉及以下步骤 -- 声明放置目标
- 创建数据对象
- 创建 wx.DropSource
- 执行拖拽操作
- 取消或接受丢弃
在 wxPython 中,有两个预定义的放置目标 -- wx.TextDropTarget
- wx.FileDropTarget
许多 wxPython 小部件支持拖放活动。源控件必须启用拖动,而目标控件必须处于接受(或拒绝)拖动的位置。用户拖动的源数据放置在目标对象上。目标对象的 OnDropText() 消耗数据。如果需要,可以删除源对象中的数据。 -
例子
在以下示例中,两个 ListCrl 对象水平放置在 Box Sizer 中。左侧的列表填充了语言[] 数据。它被指定为阻力源。右边一个是目标。第二个列表控件为空,是 TextDropTarget 类的对象的参数。OnDropText() 方法在目标列表控件中添加源数据。拖动操作由事件绑定器初始化。OnDragInit() 函数将拖动数据放在目标上并从源中删除。完整的代码如下 -上面的代码产生以下输出 -