Are you sure you need that "delay" method?
The single shot time will already delay invocation of setupGUI to after the event loop has started processing events.

Cheers,
_