Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Alchazar от Декабрь 11, 2009, 16:31



Название: Как удалить все компоненты из QGroupBox?
Отправлено: Alchazar от Декабрь 11, 2009, 16:31
Как удалить все компоненты из QGroupBox, если заранее не знаеш, сколько и какие компоннты на нём расположены?
Если я правильно понял, то их можно найти с помощью findChildren
Код:
 QList<QWidget *> widgets = parentWidget.findChildren<QWidget *>("widgetname");
Но вот как их всех удалить?


Название: Re: Как удалить все компоненты из QGroupBox?
Отправлено: MoPDoBoPoT от Декабрь 11, 2009, 17:28
Код
C++ (Qt)
QList<QWidget *> widgets = groupBox->findChildren<QWidget *>();
 
while (!widgets.isEmpty())
  delete widgets.takeFirst();
 


Название: Re: Как удалить все компоненты из QGroupBox?
Отправлено: Dendy от Декабрь 11, 2009, 17:28
К примеру так:

Код
C++ (Qt)
qDeleteAll( myGroupBox->findChildren<QWidget*>() );


Название: Re: Как удалить все компоненты из QGroupBox?
Отправлено: Dendy от Декабрь 11, 2009, 17:30
2MoPDoBoPoT: Забыли знак: "!"


Название: Re: Как удалить все компоненты из QGroupBox?
Отправлено: MoPDoBoPoT от Декабрь 11, 2009, 17:34
Да, спасибо :)