Details
Description
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 set 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 into QtWidgets as QtWidgets.qApp. As a compromize, I propose to let qApp appear in all three modules, so wherever you create an application, you can find this "macro" in place. In addition, it exists in the builtin module and is therefore freely accessible under the name qApp.
Attachments
Issue Links
- relates to
-
PYSIDE-1144 Embedded Python/PySide QApplication::Instance() returns QCoreApplicationWrapper instance
- Closed
-
PYSIDE-2605 runtime error when getting the style of a widget in embedded application
- Closed
-
PYSIDE-1178 Replacing the qApp "macro" by a no-surprizes qApp callable?
- Closed