QTreeWidget - 禁用在顶层放置

p.i*_*.g. 3 c++ qt

我有一个QTreeWidget并且启用了拖放功能。尽管我希望用户能够在树内拖放项目,但我不希望他们将任何拖动的项目放在顶层。我怎样才能做到这一点 ?

假设我已经预定义了顶级项目的类别,并且我不想扩展该列表。但在较低级别中,用户可以创建任意数量的项目,并且她/他也可以移动这些项目。

p.i*_*.g. 5

谢谢您的帮助。有效。

MyTreeWidget::MyTreeWidget( QWidget* aParent /*= nullptr*/ )
: QTreeWidget( aParent )
{
// ...
    auto rooItem = invisibleRootItem();
    rooItem->setFlags( rooItem->flags() ^ Qt::ItemIsDropEnabled );
}
Run Code Online (Sandbox Code Playgroud)