Как добавить виджет в QSplashScreen после первоначального показа ()?

Итак, мой предполагаемый поток программ таков:

  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 сделать без необходимости скрывать заставку?

1 ответ

Решение

Вы должны добавить следующий звонок

pSplashNotice->show();
Другие вопросы по тегам