你判断你拖放的的节点和要拖到的节点的父节点的索引是否相同,如果相同就让它拖动,否则就不让拖放。
步骤:
1、获取选中的节点为currItem。
2、用parentItem = currItem->parent()获取父节点,判断父节点是否存在,如果存在的话继续调用parent()函数一直到不存在,此时说明已经找到你选中的节点的最上层的根节点。然后调用his->indexOfTopLevelItem(parentItem)来获取最顶层父节点的索引,之后用parentItem->indexOfChild(currItem)来获取从最顶层父节点一直到currItem最近父节点的所有索引。
3、获取要拖动到的item,同步骤2一样获取所有父节点的索引。
4、根据2和3获取的所有所以逐级对比,如果完全相同则说明是在同一级目录,则可以拖放,否则不能拖放。