mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
WidgetTools::closeAllChildWidgets
This commit is contained in:
24
InstructorsAndTrainees/widgets/widgettools.cpp
Normal file
24
InstructorsAndTrainees/widgets/widgettools.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#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<QWidget*>(obj))
|
||||
{ // Проверяем имя объекта
|
||||
if(wgt->objectName() == objName)
|
||||
{
|
||||
wgt->close(); // Закрываем виджет
|
||||
}
|
||||
closeAllChildWidgets(wgt, objName); // Рекурсия для возможных внучатых виджетов
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user