I've been using QGraphicsView as a splash screen since 4.3. Unfortunately I had to put in some hacks to get it to repaint correctly while the rest of the application was loading. The following code was called any time the status message or progress changed

Qt Code:
  1. repaint();
  2. QApplication::syncX();
To copy to clipboard, switch view to plain text mode 
The weird thing is that this no longer works with Qt 4.4. So I was hoping that someone could help me figure out a sensible way to get my custom splash screen to work. Its just a QDialog with

Qt Code:
  1. Qt::FramelessWindowHint | Qt::Window
To copy to clipboard, switch view to plain text mode 
that has a QGraphicsView as a child widget. My current work around does the trick but I would prefer not to call QApplication::processEvents() even though I'm using

Qt Code:
  1. QEventLoop::ExcludeUserInputEvents | QEventLoop::ExcludeSocketNotifiers
To copy to clipboard, switch view to plain text mode 
I tried creating some paint events and sending them over QApplication::postEvent() and QApplication::sendPostedEvents() but I couldnt get that to work either.

My original plan was to make the Splash Screen a separate process that talked over TCP (in order to get around the repaint issues) but I think engineering an entire system for a splash screen is a bit overkill. Is there anyway to force a graphics view to repaint immediately? Any suggestions?