在同一时间将QStandardItem附加到两个QStandardItemModel中

时间:2013-10-21 15:32:51

标签: c++ qt qt-creator qabstractitemmodel qstandarditemmodel

首先,我想提前感谢您的答案。我在一个QStandardItemModel中插入一个QStandardItem,然后在树视图(A)中显示该模型。在此之后,我将相同的项(指针)附加到与另一个树视图(B)相关联的新QStandardItemModel。在第二种情况下,它仅显示一个空项而不是一个具有相同文本的项。如果我复制了该项目,结果是预期的。为什么我不能在两个不同的模型中添加相同的项目?

在这种情况下使用QSortFilterProxyModel没有用,因为modelA和modelB具有相同的数据,但遵循非常不同的结构。

非常感谢你。

如果无法做到这一点,你建议我使用哪种解决方案?我虽然通过使用哈希表来维护表模型之间的对应关系,但我认为有一个更简单的解决方案。

我复制了一个代码示例。

QStandardItem * item = generateExampleItem();
modelA->invisibleRootItem()->appendRow(item); // will be visible to the user
modelB->invisibleRootItem()->appendRow(item); // will be invisible to the user
ui.treeViewA->setModel(modelA);
ui.treeViewB->setModel(modelB);
ui.treeViewA->show();
ui.treeViewB->show();

0 个答案:

没有答案