There is a qApp macro in Qt5 which is equivalent to Q*Application.instance() .
Python does not have macros. Both PyQt5 and PySide2 have an according structure in QtWidgets. In the case of PySide2, the qApp variable is first initialized to None and later when QApplication is created.
This does not reflect the original sense of the qApp macro, because
- it only handles QApplication
- it does not handle destruction.
This "macro" should live in QtCore, but both PyQt5 and PySide2 decided to put this in QtWidgets. As a compromize, I propose to put qApp into all three modules, so wherever you create an application, you find this "macro" in place.