Qt 解决界面切换时的闪烁问题

在项目中遇到的问题,在一个启动界面下有几个子界面需要来回切换,但在子界面切换的间隙,总会有闪烁的现象出现,将显示在最后的启动界面显示出来。
原本的思路是将新界面先show出来,再将旧界面hide掉,这样的话启动界面就不会显示出来了,但实际运行时确不是这样,最后的解决方法是在新界面的show和旧界面的hide之间添加一个延时操作,这样就不会出现闪烁的现象了,延时操作的代码如下:

QTime dieTime = QTime::currentTime().addMSecs(STOPTIME);
while( QTime::currentTime() < dieTime )
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);

你可能感兴趣的:(qt学习)