函数在PySide中存在但仍然报属性错误
我正在查看pyside自带的示例。在运行位于site-packages/PySide/examples/network/http/中的http示例时,遇到了以下错误:
AttributeError: 'PySide.QtNetwork.QHttp' object has no attribute 'sslErrors'
这个属性肯定是存在的——或者至少根据这个链接,它应该是存在的:
在调试时,我对加载的对象使用了dir()命令,但没有看到sslErrors()这个方法。
有没有人知道可能发生了什么?请注意,我没有对代码做任何修改,只是直接运行这个示例。
2 个回答
1
我刚刚试了http.py这个例子,使用的是Python 2.7.6,32位和PySide 1.2.1,这个程序运行得很好,没有任何问题。你可以考虑重新安装或更新一下PySide。
要查看你安装的PySide版本,可以使用以下代码:
>>> import PySide
>>> PySide.__version__
'1.2.1'
2
可能你的PySide和/或Qt库在构建的时候没有加入SSL支持。你可以通过检查以下命令的输出,快速确认这一点:
QtNetwork.QSslSocket.supportsSsl()
想了解更多细节,可以查看Qt文档中的安全套接字层(SSL)类。
附言:
在我的Linux系统上,PySide-1.2.1的安装中确实有QHttp.sslErrors
这个信号(而且我的系统有必要的SSL支持)。