QTreeWidgetItem 有两个 parents

QTreeWidgetItem with two parents

我能否以某种方式同时将一个 QTreeWidgetItem 附加到两个(或更多)节点?就像这样:

parent1
 └child1
parent2
 └child1

如果我对两个 parent 都执行 addChild(),则 child 只会出现在第一个 parent 上。这可能吗?还是完全复制后代才能得到这样的结果?

instructions 说:

If the child has already been inserted somewhere else it won't be inserted again.

这意味着唯一的选择是完全复制 child。大致如此:

QTreeWidgetItem* copy(QTreeWidgetItem* item)
{
    if (item == nullptr)
    {
        return nullptr;
    }

    QTreeWidgetItem* out = new QTreeWidgetItem(*item);
    for (int i = 0; i < item->childCount(); i++)
    {
        out->addChild(copy(item->child(i)));
    }

    return out;
}