PyQt6迁移报错:PyQt6.QWidgets无qApp属性,求退出应用方案
解决PyQt6中
qApp不存在的问题 在PyQt6中,QtWidgets.qApp这个全局对象被移除了,你可以通过以下两种方式替代实现退出应用的功能:
方法一:使用QCoreApplication.instance()
先导入QtCore模块,再获取当前应用实例并调用quit()方法:
from PyQt6 import QtCore, QtWidgets def quitApp(self): """ Exit application callback """ QtCore.QCoreApplication.instance().quit()
方法二:使用QApplication.instance()
如果代码中已导入QApplication,可直接用它获取实例:
from PyQt6.QtWidgets import QApplication def quitApp(self): """ Exit application callback """ QApplication.instance().quit()
额外注意
原代码里的QtWidgets.qApp.quit还有个隐藏问题:没有加括号调用方法,哪怕在PyQt5中这段代码也不会真正触发应用退出,只是引用了quit方法对象,必须添加()才能执行退出操作。
内容的提问来源于stack exchange,提问作者user180146
相关产品推荐
相关产品推荐

