qml 获取 http://media-jiangxi-uz-yijia.jxoss.xstore.ctyun.cn/LF07/FACECONTROLPACK/3KSCA55502006GY/466e53165477637978737cdfc7c7f2e7?Signature=Sl5R%2BFlOSzYsZm4eVhLhRAoEV%2BU%3D&AWSAccessKeyId=t4tyhIuBkPHxmt5B69oy&Expires=1686196242 这个网页通过get请求返回的二进制文件并以图片形式显示出来
时间: 2023-12-25 14:03:00 浏览: 89
可以使用QNetworkAccessManager类来发送GET请求,然后将返回的二进制数据转化为QImage并显示出来。以下是一个简单的示例代码:
```
// 创建QNetworkAccessManager对象
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
// 发送GET请求
QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("http://media-jiangxi-uz-yijia.jxoss.xstore.ctyun.cn/LF07/FACECONTROLPACK/3KSCA55502006GY/466e53165477637978737cdfc7c7f2e7?Signature=Sl5R%2BFlOSzYsZm4eVhLhRAoEV%2BU%3D&AWSAccessKeyId=t4tyhIuBkPHxmt5B69oy&Expires=1686196242")));
// 接收响应
connect(reply, &QNetworkReply::finished, [=]() {
if (reply->error() == QNetworkReply::NoError) {
// 获取二进制数据
QByteArray data = reply->readAll();
// 转化为QImage并显示
QImage image = QImage::fromData(data);
if (!image.isNull()) {
// 显示图片
QLabel *label = new QLabel(this);
label->setPixmap(QPixmap::fromImage(image));
label->show();
}
} else {
// 处理错误
qDebug() << "Error:" << reply->errorString();
}
// 释放资源
reply->deleteLater();
});
```
需要注意的是,该代码中的URL地址可能会失效,需要根据实际情况修改。
阅读全文