如上,在QStackedWidget中,addWidget(subWdt)后,在iphone 8 plus , SE 等手机中,subWdt不平铺其父窗体QStackedWidget。
解决方法: 在subWdt窗口类中,重写resizeEvent,并在其函数中如下编码:
void SubWdt::resizeEvent(QResizeEvent* event)
{
QWidget* parentWdt = parentWidget();
if(parentWdt){
QRect rect = parentWdt->geometry();
this->setGeometry(0,0, rect.width(), rect.height());
}
QWidget::resizeEvent(event);
}
对于dlg.exe(),则需要向上移20个像素,如:
xxxxDlg* dlg = new xxxxDlg(this);
dlg->setGeometry(0,-20, width(),height());
dlg->xShow();