假设一个QML应用程序有两个列表模型,每个模型包含3个项目 . 图形上,两个列表显示在两个容器中 . 我想实现一个拖放功能来重新排序列表中的项目,并在不同列表之间交换两个项目 .
由于 ListModel
的 move
方法,在一个列表中重新排序不会产生任何问题 . 但是,为了在两个列表模型之间交换项目,我想我必须使用 ListModel
的 remove
和 insert
或 set
操作 . 使用 set
的第一次实验不起作用 .
实现此目的的规范方法是什么,也适用于转换? (例如,只是交换项目的角色是没有解决方案,我将不得不自己交换项目 . )
1 回答
您可以使用ListModel.get()从一个视图中获取元素,然后使用ListModel.append()或ListModel.insert()将其放入另一个视图中(不完全使用相同的类型)
简单的例子:
您还可以使用拖放功能执行相同的操作 .