玩了一个可编辑的QAbstractItemModel,我注意到旧的文本在编辑时不会被删除,因此会产生丑陋的叠加效果。我可以用Qt中的Editable Tree Model Example重复此操作(单击项目,点击F2,点击结束,点击退格几次)。下面的屏幕截图显示了编辑过程中的一个项目,“带有信号的”文本已被删除。它就像一个覆盖。旧文本在背景中(白色为蓝色),高于当前文本在顶部(黑色为蓝色)。 相同
比方说,我们有以下层次: + A
|-- B
|-- D
|-- C
而且假设用户拖动下向B.是否有可能有两个节点(包括儿童)替换为该拖放操作的结果? + A
|-- C
|-- B
|-- D
我试过多种方法:从子类的项目模型(dropMimeData,insertRows等),以调整模式与setDragDropOverwriteMode和DragDropMo