0

如何设置imageSourceImageViewurl?

   ImageView {
               imageSource: "http://myrrix.com/wp-content/uploads/2012/06/stackoverflow.png"
             }

这不起作用,我只能enter code here在 ImageView 上将图像设置为“资产:///images/myimage.png”。如何将源设置为来自 URL?

4

1 回答 1

4

您不能直接从网络加载图像。您需要使用 QNetworkRequest、QNetworkAccessManager 和 QNetworkReply 类发出网络请求,并在 ImageView 中获取 QByteArray 的回复负载。

QNetworkAccessManager* netManager = new QNetworkAccessManager();
if (netManager) {
    QUrl url(ImageUrl);
    QNetworkRequest networkRequest(url);
    QNetworkReply* networkReply = netManager->get(networkRequest);
    connect(networkReply, SIGNAL(finished()), this, SLOT(onReply()));
}

& 在 onReply() 插槽中,您可以加载图像:

void App::onReply(QNetworkReply* reply) {
    if (reply->error() != QNetworkReply::NoError) {
        qDebug() << "Image not available or any error";
        return;
    }
    Image image = Image(reply->readAll());
    imageView->setImage(image);
}    
于 2013-01-31T09:23:32.967 回答