首页 文章

防止在QTreeWidget外拖动

提问于
浏览
0

在QTreeWidget中,我希望能够使用InternalMove重新排序项目并从我的应用程序中的另一个树接收丢弃 .

如果我将 dragDropMode 设置为 InternalMove 我无法将项目放入其中 . 但是,如果我将其设置为 DragDrop ,则允许用户将项目拖出我的QTreeWidget .

有没有办法阻止这种情况?还有另一种解决问题的方法吗?

1 回答

  • 0

    如果您不担心应用程序之外的拖动,可能会在您的应用程序中设置 DragDropMode DragDropMode (或者从 QAbstractItemView 得到的任何内容)到:

    treeWidget->setDragDropMode(QAbstractItemView::DragOnly);
    

    足以获得理想的行为 . 这不会阻止拖拽 QTreeWidget 的项目,但是它们不能在其他树中删除,而您仍然可以将它们(以及DragOnly树中的项目)放入接受删除的树中 . 这有帮助吗? (不可否认,这不是攻击问题最复杂的方法,但执行一些本地测试似乎有效)

相关问题