我正在尝试使用PyQt5获取当前QApplication对象的引用,但是找不到相应的函数。我的搜索结果都是关于如何创建QApplication的。因此,我的问题是:
是否存在全局的QApplication对象,如果有,如何获取对现有(当前)应用程序的引用。
我提出这个问题的原因是,我想测试调试代码是否在Qt GUI应用程序中运行。然后,如果该函数在Qt应用程序中使用,我想弹出一个QMessagebox以显示错误消息;否则将消息打印到stdout。
我正在尝试使用PyQt5获取当前QApplication对象的引用,但是找不到相应的函数。我的搜索结果都是关于如何创建QApplication的。因此,我的问题是:
是否存在全局的QApplication对象,如果有,如何获取对现有(当前)应用程序的引用。
我提出这个问题的原因是,我想测试调试代码是否在Qt GUI应用程序中运行。然后,如果该函数在Qt应用程序中使用,我想弹出一个QMessagebox以显示错误消息;否则将消息打印到stdout。
应该只有一个QApplication,如果要获取现有的实例,则必须使用instance()
,一种常见的方法是使用以下技术:
app = QtWidgets.QApplication.instance()
if app is None:
# if it does not exist then a QApplication is created
app = QtWidgets.QApplication([])