所以我打算的程序流程是这样的:
- 创建,
show()
QSplashScreen
实例。 - 初始化系统的其他部分,包括 i18n 模块
- 将(翻译的)版权声明 (
QLabel
) 添加到QSplashScreen
实例中。
问题是,除非我hide()
启动启动屏幕,调用QApplication::processEvents
,添加QLabel
,然后重新show()
启动启动屏幕 - 显然会导致巨大的闪烁 -QLabel
不会呈现。
也就是说,如果我只写这个,我看不到通知:
QLabel* pSplashNotice = new QLabel( mpSplashScreen );
pSplashNotice->setObjectName( "SplashNotice" );
pSplashNotice->setWordWrap( true );
pSplashNotice->setText( Localize(my_text) );
pSplashNotice->resize( 1200, 50 );
pSplashNotice->move( 100, 1000 );
mpSplashScreen->raise();
mpSplashScreen->show();
我必须在上述内容之前
mpSplashScreen->hide();
QApplication::processEvents(QEventLoop::AllEvents);
如何pSplashNotice
在不必隐藏启动画面的情况下进行渲染?