如何获取当前的QApplication?

tin*_*lyx 6 python pyqt pyqt5 qapplication

我正在尝试使用 pyQt5 获取对当前 QApplication 对象的引用,但找不到该函数。我对“pyQt get current QApplication”的搜索显示了有关如何创建 QApplication 的结果。所以我的问题是:

是否有全局 QApplication 对象,如果有,如何获得对现有(当前)应用程序的引用。

我问的原因是我想测试调试代码是否在 Qt GUI 应用程序中运行。然后,QMessagebox如果在 Qt 应用程序中使用该函数,我想调出一个来显示错误消息;或以其他方式向标准输出打印一条消息。

eyl*_*esc 10

应该只有一个 QApplication,如果我们想获取现有的,必须使用instance(),一种常见的方法是使用以下技术:

app = QtWidgets.QApplication.instance()
if app is None:
    # if it does not exist then a QApplication is created
    app = QtWidgets.QApplication([])
Run Code Online (Sandbox Code Playgroud)