Можно ли как-то привязать один QTreeWidgetItem сразу к двум (или более) узлам? Именно так:
parent1
└child1
parent2
└child1
Если я просто сделаю addChild()
для обоих родителей, ребенок появится только у первого родителя. Это вообще возможно? Или такого результата можно добиться только путем полного копирования потомка?
инструкции говорит:
If the child has already been inserted somewhere else it won't be inserted again.
Это означает, что единственным вариантом является полное копирование дочернего элемента. Примерно так:
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;
}