Зачем городить костьІли типа Sleep()?
static const int SplashTime = 2000; // 2 seconds
int main( int argc, char ** argv )
{
    QApplication app( argc, argv );
    MyWindow window;
    return app.exec();
}
MyWindow::MyWindow()
{
    QTime splash_time;
    time.start();
    splash_ = new QSplashScreen( ... );
    // do some initialization
    ...
    // finished initialization
    QTimer::singleShot( qMax( 0, SplashTime - splash_time.elapsed() ), this, SLOT(finishSplash()) );
}
void MyWindow::finishSplash()
{
    splash_->finish( this );
}