Hide Grid Widget
-
I hide the gridWidget, but ti is still taking space. I want imageWidget to take full space when state is Qt::Checked. How can I do it?
void Home::liveViewStateChanged(int state) { if(state == Qt::Checked) { myl.reset(new MyLabel(this)); // IRSPL0092 #490 smart pointer myl->setGeometry(myl->geometry().x(),myl->geometry().y(),20,20); myl->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); myl->setObjectName(QString::fromUtf8("label")); myl->setAlignment(Qt::AlignCenter); ui->verticalLayout_4->addWidget(myl.get()); connect(this, &Home::setImageSignal, this, &Home::setImage); connect(this,&Home::setBlankSignal, this,&Home::setBlank); ui->verticalLayout_3->removeWidget(ui->gridWidget); ui->gridWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); ui->gridWidget->hide(); ui->verticalLayout_3->setStretch(0, 0); ui->verticalLayout_3->setStretch(1, 1); ui->imageWidget->show(); } else { disconnect(this, &Home::setImageSignal, this, &Home::setImage); disconnect(this,&Home::setBlankSignal, this,&Home::setBlank); if (myl != nullptr) { myl->deleteLater(); myl.reset(nullptr); } ui->imageWidget->hide(); ui->verticalLayout_3->setStretch(0, 70); ui->verticalLayout_3->setStretch(1, 30); ui->verticalLayout_3->insertWidget(0, ui->gridWidget); ui->gridWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); ui->gridWidget->show(); } }
-
I hide the gridWidget, but ti is still taking space. I want imageWidget to take full space when state is Qt::Checked. How can I do it?
void Home::liveViewStateChanged(int state) { if(state == Qt::Checked) { myl.reset(new MyLabel(this)); // IRSPL0092 #490 smart pointer myl->setGeometry(myl->geometry().x(),myl->geometry().y(),20,20); myl->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); myl->setObjectName(QString::fromUtf8("label")); myl->setAlignment(Qt::AlignCenter); ui->verticalLayout_4->addWidget(myl.get()); connect(this, &Home::setImageSignal, this, &Home::setImage); connect(this,&Home::setBlankSignal, this,&Home::setBlank); ui->verticalLayout_3->removeWidget(ui->gridWidget); ui->gridWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); ui->gridWidget->hide(); ui->verticalLayout_3->setStretch(0, 0); ui->verticalLayout_3->setStretch(1, 1); ui->imageWidget->show(); } else { disconnect(this, &Home::setImageSignal, this, &Home::setImage); disconnect(this,&Home::setBlankSignal, this,&Home::setBlank); if (myl != nullptr) { myl->deleteLater(); myl.reset(nullptr); } ui->imageWidget->hide(); ui->verticalLayout_3->setStretch(0, 70); ui->verticalLayout_3->setStretch(1, 30); ui->verticalLayout_3->insertWidget(0, ui->gridWidget); ui->gridWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); ui->gridWidget->show(); } }
@shreya_agrawal said in Hide Grid Widget:
How can I do it?
Remove gridWidget from the layout or change its size to 0