PySide6 宏 qApp 实时 import 成 __builtins__ 内置变量


qApp 在 Qt4 Qt5 Qt6 中是宏。

要使用 qApp,PySide 需使用以下导入语句:

from PySide.QtGui import qApp
					

PySide2 PySide6 需使用以下导入语句:

from PySide2.QtWidgets import qApp
					

从 PySide2 for Qt 5.14.2 起,当 from PySide2 import 模块名时,会将其压入 __builtins__ 作为 qApp 内置变量,初始值为 None。

from PySide2 import QtCore
from PySide2 import QtGui
from PySide2 import QtWidgets
					

当使用以上类似语句后,无需导入就可直接调用 qApp,此时其值非 None。

Shiboken2 通过监视 Q*Application.instance() 变量,由于 Q*Application 变量不会变成 GC 变量,对 qApp 进行实时赋值。

通过 qApp.shutdown() 可彻底销毁 qApp。

另请参阅:

Turn qApp into a normal Python variable, finally

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。