将MimeData拖放到具有QAbstractItemModel的同一QTreeView中

问题描述 投票:0回答:1

我正在重新实现QAbstractItemModel

这里有两个QTreeViewQAbstractItemModel

左边是红杉,右边是猴面包树。

右树属于左树之一,命名为sequoia0

如果单击sequoia1,则当前所有正确的项目都将被删除。

而不是将sequoia1的项目插入到正确的树中。(现在为空)

我想将一些或所有右树项目拖到相同位置,但通过其他左树项目属于另一个左项目。

同样,最终将属于另一个左树项目的新右项目插入相同的QTreeView中。从猴面包树到猴面包树。

如果我在唯一的同一视图上拖放,则不会发生任何问题。

但是一旦我将右边的树项拖动到左边的树中,当鼠标光标指向另一个左边的项时(因为调用了retrievedata,然后将它们放到右边的树中,就会自动更改右边的树,然后将它们放到右边的树中,就会发生奇怪的错误。) >

这很奇怪,因为错误消息每次都会更改。有时是“列表迭代器”对象,有时是“套接字类”对象,也有时是“ QModelIndex” ...'BaobabItem'没有属性'children','BaobabItem'没有属性'_data'。

尽管进行了相同的测试,但错误消息仍会更改。

特别是,BaobabItem具有绝对的子代,_data属性...

是,这是我QAbstractItemModel的漫长旅程,我想我可能在某处放置了错误的代码。

enter image description here

我的代码是here

((注意:我是github的初学者...提前对不起!如果您回答使用github操作,我可能无法迅速回应。(我上传它是因为我不能写超过30000的内容。)

例如,我应该如何将红杉1项目包含baobab0树项目?

我正在重新实现QAbstractItemModel。这是两个带有QAbstractItemModel的QTreeView。左边是红杉,右边是猴面包树。右树属于左树之一,命名为...

python drag-and-drop pyside2 qtreeview qabstractitemmodel
1个回答
0
投票

我解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.