以流式布局为例:
解决方法一:在界面隐藏时,添加控件进入布局前先将控件隐藏,将控件添加到布局后,即使前面设置过界面的布局了,仍要重新设置界面布局(我也不知道为啥),最后再将控件显示出来
QPushButton *btn = new QPushButton();
btn->hide();//重要!一定要先隐藏后添加入布局
m_gridlayout1->addWidget(btn);
ui->widget->setLayout(m_gridlayout1);//需要重新设置界面布局
btn->show();
简而言之:通过先隐藏控件再添加到布局中,可以确保布局正确记录控件的位置和大小,从而保证控件能够正确地添加进布局中并在界面显示出来。