在我的项目中,我使用QTreeView
来显示绘图配置。最重要的是,我有一个名为PlotConfig
的根节点,其中包含几个绘图窗口。每个绘图窗口都包含几个简单的xy图。
基本上,我有类似的东西:
我正在使用自己的QAbstractItemModel
来显示此绘图配置。一切正常,但根节点PlotConfig
实际上分散了用户的注意力。
所以我想要这样的事情:
有没有办法禁用根节点的显示?直接在QTreeView
或QAbstractItemModel
中。我基本上想要的是QList
,但每个条目的行为都像一棵树。
答案 0 :(得分:1)
setRowHidden还隐藏了(我想)不想要的子节点。在您的示例中,您有一个名为PlotConfig的根节点。我假设它是invisibleRootItem的子节点。在这种情况下,您需要使用setRootIndex:
setRootIndex(model.invisibleRootItem()->child(0, 0)->index());
这应该给您想要的结果。
答案 1 :(得分:0)
我需要相同的外观,最终意识到树可以具有多个“根”节点(在隐式不可见根节点之下),即可以为Window1,Window2,Window3等调用addTopLevelItem。
QTreeWidgetItem* rootItem;
rootItem = new QTreeWidgetItem (ui->tree->invisibleRootItem());
rootItem->setText(0, "Window1");
ui->tree->addTopLevelItem(rootItem);
rootItem = new QTreeWidgetItem (ui->tree->invisibleRootItem());
rootItem->setText(0, "Window2");
ui->tree->addTopLevelItem(rootItem);