如何获取当前的QApplication?

13

我正在尝试使用PyQt5获取当前QApplication对象的引用,但是找不到相应的函数。我的搜索结果都是关于如何创建QApplication的。因此,我的问题是:

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

我提出这个问题的原因是,我想测试调试代码是否在Qt GUI应用程序中运行。然后,如果该函数在Qt应用程序中使用,我想弹出一个QMessagebox以显示错误消息;否则将消息打印到stdout。

1个回答

20

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接