我从 子类化QAbstractItemModel
,将模型放入QTreeView
,一切都很好。
现在我想支持拖放,所以可以用鼠标改变项目位置。
我将QTreeView
dragDrop
模式设置为DragDrop
, defDropAction
MoveAction
,drag
启用为真。我可以拖动项目,它出现在鼠标附近,但放置时没有任何反应。
我需要哪些方法QAbstractItemModel
来实现我的模型将支持拖放?
我从 子类化QAbstractItemModel
,将模型放入QTreeView
,一切都很好。
现在我想支持拖放,所以可以用鼠标改变项目位置。
我将QTreeView
dragDrop
模式设置为DragDrop
, defDropAction
MoveAction
,drag
启用为真。我可以拖动项目,它出现在鼠标附近,但放置时没有任何反应。
我需要哪些方法QAbstractItemModel
来实现我的模型将支持拖放?
您需要实现QAbstractItemModel::supportedDropActions()和QAbstractItemModel::supportedDragActions()。文档也很好地解释了它。
此链接的海报有一些示例代码:http: //forum.qt.io/topic/9417/solved-supporteddropactions-in-qabstractitemmodel