银河麒麟环境下,QStackedLayout界面切换卡死、不刷新的BUG处理
MainWindow中使用QStackedLayout进行界面切换
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
widget1 = new QWidget(this);
widget2 = new QWidget(this);
stackLayout = new QStackedLayout(this);
stackLayout->addWidget(widget1);
stackLayout->addWidget(widget2);
mainLayout = new QVBoxLayout;
mainLayout->setMargin(0);
mainLayout->addLayout(stackLayout);
setLayout(mainLayout);
}
界面切换
void MainWindow::changeStackedLayoutIndex(int index)
{
if (index == 0) {
printLog("vue界面");
widget2->hide();
widget1->show();
} else if (index == 1) {
printLog("切换图像采集界面");
widget1->hide();
widget2->show();
}
stackLayout->setCurrentIndex(index);
}