#include "widgettools.h" WidgetTools::WidgetTools() { } // Рекурсивная функция для закрытия всех дочерних виджетов void WidgetTools::closeAllChildWidgets(QWidget *parent, QString objName) { // Ищем всех дочерних виджетов типа QWidget QObjectList children = parent->children(); foreach(auto obj, children) { if (auto wgt = qobject_cast(obj)) { // Проверяем имя объекта if(wgt->objectName() == objName) { wgt->close(); // Закрываем виджет } closeAllChildWidgets(wgt, objName); // Рекурсия для возможных внучатых виджетов } } }