Hello Eike,
Does it help if you put app.processEvents() after print() lines instead of having them in front of printing lines?
Also I would rather suggest to initialize app as:
global app
app = QtWidgets.QApplication.instance()
And then just call app instead of self.app - you can try that, if the first approach does not work.