Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: TaleFrance от Март 16, 2021, 20:08



Название: ДИНАМИЧЕСКОЕ создание и удаление виджетов QCheckBox
Отправлено: TaleFrance от Март 16, 2021, 20:08
Всем привет. Нужна помощь. Необходимо добавить возможность удаления динамически созданных виджетов QCheckBox. Т.е я сначала заполняю форму определенным количеством QCheckBox, а затем, при нажатии на любой из них, они должны удаляться. Как такое провернуть?

Код:
void MainWindow::on_pushButton_clicked()
{


    for(int i =0 ; i < 3; i++)
    {
        box1 = new QCheckBox;
       ui ->verticalLayout->addWidget(box1);
       box1 ->setChecked(true);
       connect(box1,  SIGNAL(clicked()), this, SLOT(on_pushButton2_clicked()));

    }


     
}


void MainWindow::on_pushButton2_clicked()
{
   for(int i=0; i<3; i++)
    {
        ui->verticalLayout->removeWidget(box1);

    }
   
}


Название: Re: ДИНАМИЧЕСКОЕ создание и удаление виджет&#
Отправлено: Day от Март 20, 2021, 16:46
посмотри в сторону deleteLater
А тебе точно надо их именно удалять? может быть достаточно скрыть? Тогда - метод hide()