I guess PySide saves the QApplication internally, while PyQt4 doesn't.
Saving the QApplication as a global prevents it from getting garbage
collected. Saving the QApplication as an instance variable in the
ImageViewer also works, but that might prevent the ImageViewer from getting
garbage collected in an interactive session. (weakref doesn't seem to work here.)