关于QtGui的已知信息是,它用于GUI程序来创建界面,而QtCore则用于非GUI程序,并且实际上在该接口下工作。但是,要获取正在运行的应用程序的实例,我发现我们可以使用QtCore和QtGui来使用QtCore.QCoreApplication
和QtGui.QApplication
返回当前正在运行的实例。
那么使用它们返回的实例之间有什么区别?
他们指的是同一件事吗?
最佳答案
没什么区别,因为instance()
中的QApplication
方法是从QCoreApplication
继承的。您还可以如下所示:
>>> from PyQt4.QtCore import QCoreApplication
>>> from PyQt4.QtGui import QApplication
>>> a = QApplication([])
>>> a
<PyQt4.QtGui.QApplication object at 0x02A75620>
>>> QApplication.instance()
<PyQt4.QtGui.QApplication object at 0x02A75620>
>>> QCoreApplication.instance()
<PyQt4.QtGui.QApplication object at 0x02A75620>
>>> b = QCoreApplication([])
>>> b
<PyQt4.QtCore.QCoreApplication object at 0x02A75670>
>>> QCoreApplication.instance()
<PyQt4.QtCore.QCoreApplication object at 0x02A75670>
>>> QApplication.instance()
<PyQt4.QtCore.QCoreApplication object at 0x02A75670>
请注意,无论您使用哪个类访问实例,PyQt都会正确地对对象进行类型转换。在C ++中,您需要自己进行类型转换。
关于python - QtGui.QApplication和QtCore.QCoreApplication之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36557663/