[英]How to check for gui vs command line mode in PySide2?
在我的PySide2代码中,我需要检查程序是否以gui模式或命令行运行。 在PySide中,我曾经这样做:
if QApplication.type() == QApplication.Type.GuiClient:
# do stuff
但是,根据http://doc.qt.io/qt-5/sourcebreaks.html :
QCoreApplication :: Type和QApplication :: type()被删除。 这些Qt 3旧版应用程序类型与Qt 5中可用的应用程序类型不匹配。请使用qobject_cast来动态地找出确切的应用程序类型。
我的PySide程序在主机应用程序中运行,因此我自己没有创建QCoreApplication实例,我只需要检查主机应用程序是否处于批处理模式(非GUI)或避免出现某些问题即可。
我的问题现在是如何使用qobject_cast在PySide2中实现相同的目标? 文档中的C ++示例并没有告诉我如何使用Python进行此操作。
有人可以提供示例或建议其他方法来实现同一目标吗?
最后,我需要做的是:
isinstance(QtWidgets.QApplication.instance(), QtWidgets.QApplication)
在GUI模式下返回True,在命令行/批处理模式下返回False。 感谢ekhumoro为我指出正确的方向!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.