How to create a splash screen with an induced delay: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Convert ExpressionEngine section headers)
(Decode HTML entity names)
Line 32: Line 32:
  I::sleep(5); // splash is shown for 5 seconds
  I::sleep(5); // splash is shown for 5 seconds
  mainWin.showMaximized();
  mainWin.showMaximized();
  splash.finish(&mainWin);
  splash.finish(&mainWin);
  return app.exec();
  return app.exec();
}
}

Revision as of 17:20, 12 March 2015

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

How to create a splash screen with an induced delay.

We have QSplashScreen which is used to cover up the starting delay of the program. More about splash screen is here. Some times the programs might be quick enough ,so that the splash screen may not be visible. We may induce some delay to show the splash , as a decoration !

Here in this example, using QThread a delay is induced.

#include <QApplication>
#include <QSplashScreen>
#include <qthread.h>
#include "mainwindow.h"

class I : public QThread
{
public:
 static void sleep(unsigned long secs) {
 QThread::sleep(secs);
 }
};

int main(int argc, char *argv[])
{

QApplication app(argc, argv);
 QPixmap pixmap("splash.jpg");
 QSplashScreen splash(pixmap);
 splash.show();
 MainWindow mainWin;
 mainWin.setWindowTitle("Application");
 I::sleep(5); // splash is shown for 5 seconds
 mainWin.showMaximized();
 splash.finish(&mainWin);
 return app.exec();
}

Easy! Happy coding!