2

所以我打算的程序流程是这样的:

  1. 创建,show() QSplashScreen实例。
  2. 初始化系统的其他部分,包括 i18n 模块
  3. 将(翻译的)版权声明 ( 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在不必隐藏启动画面的情况下进行渲染?

4

1 回答 1

2

您应该添加以下调用

pSplashNotice->show();
于 2016-01-08T15:33:37.037 回答