PyQt - QTreeWidget - 限制拖放的深度

时间:2015-08-05 20:38:03

标签: qt pyqt

我正在尝试使用2个QTreeWidgets构建一个界面,用户可以在其间拖放项目。

我想要一个树小部件只有1的深度(从任何树小部件拖动项目,在嵌套项目上什么都不做,或者最好像兄弟一样移动),另一个有0深度(不做任何事情)移动如果拖动某个项目则为兄弟姐妹。)

QtDesigner让我大部分都在那里,但我无法想出一种方法来限制(或设置)嵌套项目的深度。

我仍然是Qt(和PyQt ..)的新手,很抱歉,如果这很明显..

感谢您提供的任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

如果你想限制QTreeWidget的拖放深度,你需要重写它。

但是,如果你只需要在顶级拖放,你可以设置QTreeWidgetItem的标志如下:

    QTreeWidgetItem *ptr_item = new QTreeWidgetItem();
    ptr_item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled);