Не добавляется дочерний узел

В заголовочном файле есть QList<QString>, содержащий названия подсистем. Есть QMap<QString, QTreeWidgetItem>, содержащий QTreeWidgetItem по названию подсистемы. Такой же принцип для процедур, на каждую подсистему.

Ошибка заключается в определении функции setEquipmentUndersystemProcedure. Дочерний QTreeWidgetItem(процедура) не добавляется к родителю.

Фрагмент из mainwindow.h

QList<QString> undersystems{"1.Документооборот(в разработке)", "2.Склад(в разработке)", "3.Закупки(в разработке)", "4.Управление оборудованием"};
QMap<QString, QTreeWidgetItem> undersystemsItems;

QList<QString> equpmentProcedures{"1.Входной контроль", "2.Идентификация и учет", "3.Аттестация", "4.Эксплуатация", "5.Обслуживание, хранение", "6.Вывод из эксплуатации"};
QMap<QString, QTreeWidgetItem> equipmentProceduresItems;

Фрагмент из mainwindow.cpp

void MainWindow::setUndersystems(){

    ui->undersystemsTreeWidget->setHeaderHidden(true);

    for (QString name:undersystems ) {
        QTreeWidgetItem *item = new QTreeWidgetItem(ui->undersystemsTreeWidget);
        item->setText(0, name);
        item->setForeground(0, QBrush(colors.getThirdColor()));
        item->setFont(0, QFont("System", 10));

        undersystemsItems.insert(name, *item);
        ui->undersystemsTreeWidget->addTopLevelItem(item);
    }

    setEquipmentUndersystemProcedures();
}
void MainWindow::setEquipmentUndersystemProcedures(){
    for (QString name: equpmentProcedures) {
        QTreeWidgetItem *item = new QTreeWidgetItem(undersystemsItems.value(undersystems[3] /*"4.Управление оборудованием"*/));
        item->setText(0, name);
        item->setFont(0, QFont("Arial", 8));

        equipmentProceduresItems.insert(name, *item);
        undersystemsItems.value(undersystems[3]).addChild(item);
    }
}

Ответы (1 шт):

Автор решения: Nikita Sadovskiy

Требуемые изменения в mainwindow.h:

фрагмент из mainwindow.h

QList<QString> undersystems{"1.Документооборот(в разработке)", "2.Склад(в разработке)", "3.Закупки(в разработке)", "4.Управление оборудованием"};
QMap<QString, QTreeWidgetItem*> undersystemsItems;

QList<QString> equpmentProcedures{"1.Входной контроль", "2.Идентификация и учет", "3.Аттестация", "4.Эксплуатация", "5.Обслуживание, хранение", "6.Вывод из эксплуатации"};
QMap<QString, QTreeWidgetItem*> equipmentProceduresItems;
→ Ссылка