擅长:python、mysql、java
<p>好吧,我想我有一个可能的解决办法。在</p>
<p>请记住,我在这方面是一个完全的新手,所以不能保证他的a)作品b)是一个体面的解决方案c)不会让一个“真正的”程序员扔掉他们的午餐。在</p>
<p>我所做的是将特定项的整个祖先树转换为一个行列对的文本列表。(即列出被拖动项的行和列,其父项的行和列,其父项的行和列,等等。。。直到找到一个无效的索引-即根)</p>
<p>如下所示(此示例显示拖动的项有四个级别深):</p>
<pre><code>2;0,1;0,5;0,1,0
^ ^ ^ ^
| | | |
| | | great grandparent (and child of the root item)
| | |
| | grandparent
| |
| parent
|
item being dragged
</code></pre>
<p>稍后,在dropMimeData函数中,我反转列表(以便它从根目录向下读取被拖动的项),并一次构建一个索引,直到返回到最初拖动的项。在</p>
<p>下面是一些代码片段,这些代码可以让所有这些都起作用。同样,我不能保证这是一个好主意,只是它似乎可以工作,不需要将python对象序列化为ByteArray。在</p>
<p>希望这有帮助。在</p>
^{pr2}$