gpt4 book ai didi

c++ - 如何将 QStandardItem 附加到两行中

转载 作者:行者123 更新时间:2023-11-28 02:45:23 27 4
gpt4 key购买 nike

我想要的是:

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),但第二行空白。

enter image description here

最佳答案

当您将项目附加到第一行时,它会获得一个父项,您不能将它添加到另一行。您应该附加该项目的拷贝:

QStandardItem *newItem = new QStandardItem(QString("newItem"));

item1->appendRow(newItem);
item2->appendRow(newItem->clone());

关于c++ - 如何将 QStandardItem 附加到两行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24611660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com