8

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

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

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

4

1 回答 1

10

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

app = QtWidgets.QApplication.instance()
if app is None:
    # if it does not exist then a QApplication is created
    app = QtWidgets.QApplication([])
于 2018-11-20T06:59:41.653 回答