函数存在于PySide中但仍然出现属性错误

时间:2014-04-16 02:21:42

标签: python pyside attributeerror

我正在浏览pyside附带的示例。在site-packages / PySide / examples / network / http / I下运行http示例时出现以下错误:

AttributeError: 'PySide.QtNetwork.QHttp' object has no attribute 'sslErrors'

这个属性绝对存在 - 或者,至少它应该根据这个:

http://pyside.github.io/docs/pyside/PySide/QtNetwork/QHttp.html#PySide.QtNetwork.PySide.QtNetwork.QHttp.sslErrors

调试时我在加载的对象上做了一个dir(),但没有看到sslErrors()。

对可能发生的事情有任何想法? 请注意,我根本没有修改过代码。我只是按原样运行示例。

2 个答案:

答案 0 :(得分:2)

可能是您的PySide和/或Qt库是在没有SSL支持的情况下构建的。您可以通过检查输出:

来快速验证这一点
    QtNetwork.QSslSocket.supportsSsl()

有关详细信息,请参阅Qt文档中的Secure Sockets Layer (SSL) Classes

PS:

我的Linux系统上的PySide-1.2.1安装中肯定存在QHttp.sslErrors信号(它确实有必要的SSL支持)。

答案 1 :(得分:1)

我刚刚尝试了http.py示例,运行Python 2.7.6,32位和PySide 1.2.1,这个程序没有任何问题。我可以建议重新安装/更新PySide吗?

检查您拥有的PySide版本:

>>> import PySide
>>> PySide.__version__
'1.2.1'