Why didn't you use QSplashScreen? A repaint needs a spinning event loop, regardless of what classes you use. TCP also needs a spinning event loop, so unless you start processing events, nothing will get repainted.