判断十个父节点名是否和容器元素相同,相同则创建子节点
时间: 2024-04-10 22:26:44 浏览: 44
你可以使用一个循环来遍历容器中的元素,并在每次迭代中判断父节点的名字是否与当前元素相同。如果相同,则创建一个子节点。
以下是一个示例代码,展示了如何判断父节点名是否与容器元素相同,并在相同的情况下创建子节点:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <QTreeWidget>
#include <QTreeWidgetItem>
void createChildNode(QTreeWidgetItem* parent, const std::string& element)
{
QTreeWidgetItem* child = new QTreeWidgetItem(parent);
child->setText(0, QString::fromStdString(element));
}
int main()
{
std::vector<std::string> container = {"Node1", "Node2", "Node3", "Node4", "Node5",
"Node6", "Node7", "Node8", "Node9", "Node10"};
QTreeWidget treeWidget;
treeWidget.setHeaderLabels(QStringList() << "Name");
// 创建根节点
QTreeWidgetItem* rootItem = new QTreeWidgetItem(&treeWidget);
rootItem->setText(0, "Root");
for (const std::string& element : container)
{
// 判断父节点名是否与元素相同
if (rootItem->text(0).toStdString() == element)
{
createChildNode(rootItem, element); // 创建子节点
}
}
treeWidget.show();
return 0;
}
```
在上面的示例中,我们有一个容器`container`,其中包含了十个元素。我们使用一个循环遍历容器中的元素,并在每次迭代中判断根节点的名字是否与当前元素相同。如果相同,则调用`createChildNode`函数创建一个子节点。
在`createChildNode`函数中,我们使用`new`关键字创建了一个新的`QTreeWidgetItem`对象,并将其添加到父节点下。然后,我们使用`setText`函数设置子节点的名称。
当运行上述代码时,它将创建与容器中元素相同的子节点,并将它们添加到根节点下。
阅读全文