Как удалить QHBoxLayout из формы - PullRequest
1 голос
/ 05 апреля 2020

Я удаляю все существующие элементы управления из формы, используя этот код.

 QFormLayout *formLayoutFunction;  

  void DeleteExistingControls()
     {
         QLayoutItem *child;
         comboBoxFunctions->blockSignals(true);
         comboBoxFunctions->clear();
         comboBoxFunctions->blockSignals(false);
         while ((child = formLayoutFunction->takeAt(0)) != 0) {     
             delete child->widget();
             delete child;
         }
     }

Проблема в том, что после выполнения этой функции все еще присутствуют виджеты QHBoxLayout.

В форме У меня есть несколько QHBoxLayouts, и я хочу удалить их все.

1 Ответ

1 голос
/ 06 апреля 2020

Так я удалил виджеты QHboxLayout.

while ((child = formLayoutFunction->takeAt(0)) != 0) {
        if (child->layout() != 0)
        {
            QLayout *ly = child->layout();
            QLayoutItem* layoutItem ;
            while (ly->count() != 0){
                layoutItem = ly->takeAt(0);
                delete layoutItem->widget();
                delete layoutItem;
            }
         }
         delete child->widget();
         delete child;
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...