【发布时间】:2014-06-16 19:18:49
【问题描述】:
我在QTreeView中的拖放有一些问题:
我将标志设置为Qt::MoveAction 并在我的模型中重新实现removeRows()、dropMimeData() 等。模型继承QAbstractItemModel。
当我拖放时,mimeData()、dropMimeData() 会被自动调用,
还有dropMimeData() 自动调用insertRows()。但是removeRows()没有被调用,所以被拖拽的item还活着。我用谷歌搜索,但他们说他们的removeRows() 是自动调用的。
- 为什么我的
removeRows()不在dropMimeData()之后调用? - 我应该在
dropMimeData()中手动调用removeRows()吗? - 如果是这样,我怎么知道前一个拖动开始的
QModelIndex?
当开始拖动时,在mimeData(),我可以将索引保存在私有成员中,但看起来不太好。
任何建议将不胜感激。
【问题讨论】:
标签: qt drag-and-drop treeview