解决Qt堆栈窗口内子窗口大小不一致的问题
首先设置堆栈窗口的扩张策略:
MyStackedWidget::MyStackedWidget(QWidget *parent) :
QStackedWidget(parent)
{
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
}
而后在主窗口类(堆栈窗口作为成员变量或UI中的控件)中的resizeEvent中写下如下代码:
ui->stackedWidget->setFixedWidth((this->width() - 30));//减去多少自定义,视情况而定
如果有触发resizeEvent的需求,可加入以下代码:
void XXXXX::updateSize() {
QResizeEvent resizeEvent(this->size(), this->size());
QApplication::sendEvent(this, &resizeEvent);
//this->resize(this->size().width()+1,this->size().height()+1);
}