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

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
h1. How to create a splash screen with an induced delay.
h1. How to create a splash screen with an induced delay.


We have &quot;QSplashScreen&amp;quot;: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 &quot;here&amp;quot;:http://doc.qt.nokia.com/latest/qsplashscreen.html.<br />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 !
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 &quot;QThread&amp;quot;:http://doc.qt.nokia.com/latest/qthread.html a delay is induced.
Here in this example, using "QThread":http://doc.qt.nokia.com/latest/qthread.html a delay is induced.


<code><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;
<code>
#include <QApplication>
#include <QSplashScreen>
#include <qthread.h>
#include "mainwindow.h"


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


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


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 /></code>
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(&amp;mainWin);
return app.exec();
}
</code>


Easy! Happy coding!
Easy! Happy coding!


[[Category:HowTo]]
[[Category:HowTo]]

Revision as of 10:11, 25 February 2015

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.

#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(&amp;mainWin);
 return app.exec();
}

Easy! Happy coding!