PySide2“ TLS初始化失败”或将OpenSSL dll放在哪里?

时间:2019-01-03 15:57:51

标签: qt pyqt qml pyside

我正在使用PySide2和QML。 我的qml文件中有一个Image元素,每当我尝试在该图像元素中加载https URL时,都会出现以下错误:QSslSocket::connectToHostEncrypted: TLS initialization failed

我在Windows上,在网上查找此错误后,建议在使用Vanilla Qt时将OpenSSL dll放在可执行文件旁边。问题是我正在使用Python,却不知道PySide2在哪里寻找这些dll。

任何帮助将不胜感激。

这是我的QML图片项目:

Image {
    id: image
    height: parent.height - 5
    width: parent.width - 5
    source: url
    sourceSize.width: image.width
    sourceSize.height: image.height
    asynchronous: true
    fillMode: Image.PreserveAspectFit
}

url是python边模型中的一个角色,该模型使用setContextProperty方法与QML共享。该模型填充了Reddit中的图片网址。

1 个答案:

答案 0 :(得分:0)

下载与用于构建已安装的Qt版本的版本兼容的OpenSSL版本。确保将其放在运行应用程序时Qt运行时可以看到的位置。

注意 OpenSSL版本 1.0 1.1

向后不兼容

如果您使用预先配置的安装程序安装了Qt,请检查使用该版本预先构建的版本,例如 Qt 5.12随附的OpenSSL v1.1