Снова я к вам со своими проблемами.
Есть два QTreeView, они используют модель производную от QAbstractItemModel.
Проблема в том, что при перетаскивании item'а из одного дерева в другое, появляется разрешающая иконка только в том случае, если этот item навести непосредственно на другой item в дереве.
Если item будет над самим QTreeView, то иконка будет запрещающей.
Все сделано по документации: Использование Drag and Drop с представлениями элементов
У обоих деревьев есть:
self._groupList = QtGui.QTreeView()
self._groupList.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self._groupList.setDragEnabled(True)
self._groupList.setAcceptDrops(True)
self._groupList.setDropIndicatorShown(True)
В модели переопределены:def flags(self, index):
if index.isValid():
defaultFlags=QtCore.QAbstractItemModel.flags(self, index)
return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsDropEnabled | defaultFlags
return None
def supportedDropActions(self):
return QtCore.Qt.CopyAction | QtCore.Qt.MoveAction
В чем может быть проблема ума не приложу!
Должна быть возможность бросать item непосредственно в само окно QTreeView, без наведения на другой item.