QLineEdit *aaa = new QLineEdit();
QLineEdit *bbb = new QLineEdit();
ui->horizontalLayout_3->insertWidget(ui->horizontalLayout_3->count(), aaa);
ui->horizontalLayout_3->insertWidget(ui->horizontalLayout_3->count(), bbb);
QWidget* qRemove = ui->horizontalLayout_3->itemAt(ui->horizontalLayout_3->count() - 1)->widget();
qRemove->setParent(NULL); //注意,这里要做,否则移除后会导致父布局中子控件的显示异常,如高度异常、宽度异常
ui->horizontalLayout_3->removeWidget(qRemove);
效果:
最开始效果, 添加2个输入框后
只有一个子控件输入框
移除一个输入框后 如果要移除的子控件不执行setParent(NULL),
而直接remove的话会导致以下情况产生,
其他子控件出现显示异常的情况