【问题标题】:Prevent drag outside QTreeWidget防止在 QTreeWidget 外部拖动
【发布时间】:2014-10-02 02:36:30
【问题描述】:

在 QTreeWidget 中,我希望能够使用 InternalMove 重新排序项目并从我的应用程序中的另一棵树接收掉落物。

如果我将dragDropMode 设置为InternalMove,我将无法将项目放入其中。但是,如果我将其设置为 DragDrop,它会让用户将项目拖出我的 QTreeWidget。

有没有办法防止这种情况发生?有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: qt drag-and-drop qtreeview qtreewidget


    【解决方案1】:

    如果您不担心应用程序之外的拖拽,可以在您的应用程序中设置 other QTreeWidgetDragDropMode(或任何派生自 QAbstractItemView 的东西)到:

    treeWidget->setDragDropMode(QAbstractItemView::DragOnly);
    

    足以获得所需的行为。这不会阻止相关QTreeWidget 的项目被拖动,但它们不能被拖放到其他树中,而您仍然可以将它们(以及 DragOnly 树中的项目)拖放到接受拖放的树中。这有帮助吗? (诚​​然,这不是解决问题的最复杂的方法,但执行一些本地测试似乎可行)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 2012-11-13
      • 2012-03-30
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多