Как очистить QGridLayout?

необходимо очистить GridLayout от виджетов, не удалять сами виджеты из памяти, просто чтобы они не оторбажались. Делается это для того чтобы перерисовать эти виджеты(возможно еще для того чтобы удалить только один виджет, а остальные заново нарисовать). Но у меня виджеты остаются на Layout только не реагируют. использую и эксперементирую со следующим кусочком кода
QList<QmyWdiget*> opened_chat;
...
QLayoutItem *poLI;
QWidget *poW;
while((poLI=opened_chat_layout->takeAt(0))!=0){
poW=poLI->widget();
opened_chat_layout->removeWidget(poW);
opened_chat_layout->removeItem(poLI);
//poW->deleteLater();
// delete poW;
// delete poLI;
}
...
opened_chat.removeAt(index);
...
//дальше перестройка виджетов на Layout
  • Вопрос задан
  • 1861 просмотр
Пригласить эксперта
Ответы на вопрос 1
@TriKrista
Я когда-то делал это, примерно, так:
pCheckBox = (QCheckBox*)gridLayout->itemAtPosition(k, 0)->widget();
gridLayout->removeWidget((QCheckBox*)gridLayout->itemAtPosition(k, 0)->widget());
pCheckBox->hide();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы