First of all loop in MainWindow::display is "never ending story". Thus MainWindow constructor is blocking application.
Second UI need working event loop but You are blocking her. Read about QTimer.