我从QAbstractItemModel
继承了子类,将模型放入QTreeView
,一切都很好。
现在,我想支持拖放操作,因此可以用鼠标更改项目位置。
我将QTreeView
设置为dragDrop
,DragDrop
设置了defDropAction
,MoveAction
设置为true。我可以拖动项目,它显示在鼠标附近,但是放任何东西都不会发生。
我需要从drag
中使用哪些方法来实现我的模型将支持拖放功能?
最佳答案
您需要实现QAbstractItemModel::supportedDropActions()和QAbstractItemModel::supportedDragActions()。 docs也很好地解释了它。
此链接上的发布者具有一些示例代码:http://forum.qt.io/topic/9417/solved-supporteddropactions-in-qabstractitemmodel
关于c++ - 从QAbstractItemModel进行子类化时的拖放支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15906864/