繁体   English   中英

如何从Qt中的文件加载图像?

[英]How to load an image from a file in Qt?

通常,我已经搜索了一段时间,却找不到一个认真的答案。 问题是我有一个包含某些URL的QString变量,例如“ C:/Users/Me/Desktop/image.png”。 如何打开它并在我的应用程序窗口中显示图像? 我知道这个问题看似微不足道,但是我找不到有效的解决方案。

通过使用QPixmap加载图像,然后使用QLabel进行显示:

QString url = R"(C:/Users/Me/Desktop/image.png)";
QPixmap img(url);
QLabel *label = new QLabel(this);
label->setPixmap(img);

ImageViewer示例

void LoadAvatar(const std::string &strAvatarUrl, QLabel &lable)
{ 
   QUrl url(QString().fromStdString(strAvatarUrl));
   QNetworkAccessManager manager;
   QEventLoop loop;

   QNetworkReply *reply = manager.get(QNetworkRequest(url));
   QObject::connect(reply, &QNetworkReply::finished, &loop, [&reply, &lable,&loop](){
    if (reply->error() == QNetworkReply::NoError)
    {
        QByteArray jpegData = reply->readAll();
        QPixmap pixmap;
        pixmap.loadFromData(jpegData);
        if (!pixmap.isNull())
        {
            lable.clear();
            lable.setPixmap(pixmap);
        }
    }
    loop.quit();
  });

  loop.exec();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM