不重载QSplashScreen也可以实现定时,用QThead的sleep方法,不过需要封装成public 的方法
class I : public QThread
{
public:
static void sleep(unsigned long secs) {
QThread::sleep(secs);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec *codec = QTextCodec::codecForLocale();
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
//Initial Welcome screen
QSplashScreen *splash = new QSplashScreen(QPixmap(":/image/title.png"));
splash->show();
Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;
splash->showMessage("loading modules...",topRight,Qt::black);
mainFrame *mFrame = new mainFrame;
LaunchWin launchWin(mFrame);
I::sleep(3);
splash->finish(&launchWin);
launchWin.show();
return a.exec();
}