【问题标题】:Drag&Drop problem in a TreeView QtTreeView Qt中的拖放问题
【发布时间】:2009-12-15 18:38:10
【问题描述】:

我遇到了一个非常奇怪的问题,我需要你的一些帮助:)

1) 我使用的是 Qt 4.6.0
2)我想在树视图中的项目上启用拖放(仅使用 QAbstractItemView::InternalMove 的 Qt::MoveAction)。
3) 我有自己的模型和一个代理模型,用于执行一些排序...
4) Drag&Drop 效果很好,除了一件事,这里是:

当我在树中执行一些“真正快速”的拖放操作时(基本上是将项目从父级扔到另一个)或者当我试图将一个项目扔出三个时(在第一个父级之上,在顶部父级和树视图的视口的限制),移动项目消失...... 更糟糕的是,有时,在我的第一个文件夹上方创建了一个损坏的项目(见下图)。

Image Before
Image After

让我们试着总结一下: 当我对树中的项目执行快速和随机的移动(更改其父项或将项目重新放置在其当前父项中)时,有时我的项目无处不在,但它们应该在哪里......我还提醒你们,当“正常”使用时,我的拖放工作......

我希望我已经足够清楚了,不要犹豫,询问更多细节!

提前感谢您的帮助!!

【问题讨论】:

    标签: qt drag-and-drop


    【解决方案1】:

    我遇到了同样的问题,似乎是因为您可以将一个项目放到另一个项目上,然后替换该项目。我还没有想出如何解决这个问题。

    【讨论】:

    • 有趣!感谢您的回答 !但是调试它真的很难,因为它真的很难复制......在我的情况下,它并不重要......你是否在任何动作中或仅在执行快速拖放时遇到同样的麻烦?顺便说一句,如果您愿意,可以通过下载我的应用程序将您的问题与我的问题进行比较...只需创建一个新文件,然后在树中执行快速拖放!
    • 如果你打开dropIndicator,那么你可以看到它(至少在新的qt中)。您放置的项目在顶部或底部有一个黑色条(表示您将它放在两个项目之间)或它周围有一个黑色边框(表示它将替换它)。我还没有找到如何关闭它。
    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多