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;
}
我能否以某种方式同时将一个 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;
}