How to create a splash screen with an induced delay

From Qt Wiki
Revision as of 09:50, 24 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search

h1. How to create a splash screen with an induced delay.

We have "QSplashScreen":http://doc.qt.nokia.com/latest/qsplashscreen.html which is used to cover up the starting delay of the program. More about splash screen is "here":http://doc.qt.nokia.com/latest/qsplashscreen.html.
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":http://doc.qt.nokia.com/latest/qthread.html a delay is induced.

<br />#include &lt;QApplication&amp;gt;<br />#include &lt;QSplashScreen&amp;gt;<br />#include &lt;qthread.h&amp;gt;<br />#include &quot;mainwindow.h&amp;quot;

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

int main(int argc, char *argv[])<br />{

QApplication app(argc, argv);<br /> QPixmap pixmap(&quot;splash.jpg&amp;quot;);<br /> QSplashScreen splash(pixmap);<br /> splash.show();<br /> MainWindow mainWin;<br /> mainWin.setWindowTitle(&quot;Application&amp;quot;);<br /> I::sleep(5); // splash is shown for 5 seconds<br /> mainWin.showMaximized();<br /> splash.finish(&amp;mainWin);<br /> return app.exec&amp;amp;#40;&amp;#41;;<br />}<br />

Easy! Happy coding!