我想拥有的是:
Root ------ item1
| --- newItem
|_____ item 2
| --- newItem
|_____ item 3
这是代码:
QStandardItem *item1 = new QStandardItem(QString("item1"));
QStandardItem *item2 = new QStandardItem(QString("item2"));
QStandardItem *item3 = new QStandardItem(QString("item3"));
QStandardItem *rootNode = standardModel->invisibleRootItem();
rootNode->appendRow(item1);
rootNode->appendRow(item2);
rootNode->appendRow(item3);
QStandardItem *newItem = new QStandardItem(QString("newItem"));
item1->appendRow(newItem);
item2->appendRow(newItem);
当它运行时,我看到newItem附加在item1上没有任何问题。但是,在第二个项目(item2)上,newItem被附加但作为空白项目。
这有什么问题?
编辑:这是我的意思的打印屏幕。newItems出现在第一行(QStandardItem),但第二行为空白。
当您将项目追加到第一行时,它将获得父项,并且无法将其添加到另一行。您应该附加以下内容的副本:
QStandardItem *newItem = new QStandardItem(QString("newItem"));
item1->appendRow(newItem);
item2->appendRow(newItem->clone());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句