我从QAbstractItemModel继承了子类,将模型放入QTreeView,一切都很好。

现在,我想支持拖放操作,因此可以用鼠标更改项目位置。
我将QTreeView设置为dragDropDragDrop设置了defDropActionMoveAction设置为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/

10-12 21:06