c++ - 显示Qt资源中没有的图片

标签 c++ image qt

我目前正在用 Qt 编写一个应用程序,它基本上是一个仓库。应用程序读取 CSV,使用户能够处理它并能够显示每件商品的图片。我尝试使用 QLabel 和 Pixmap 显示图片,但是即使文件在同一个文件夹中并且提供的名称完全正确,也没有任何反应。是资源问题还是我的代码以某种方式失败?是否可以在不将图像添加到资源的情况下显示图像,以避免手动添加许多照片?

void ImageViewer::viewImage(QString imgName)
{
    QString pathWithName = imgName;
    pathWithName.append(".jpg");

    ui->label->setPixmap( QPixmap(pathWithName) );
    ui->label->show();
    update();
}

对于帖子创建或此处显示的代码中的任何错误,我们深表歉意 - 这是我的第一篇帖子。

编辑: 我正在将 MainWindow 中的代码(在我的项目中称为 CsvReader)添加到我调用方法 viewImage 的方式中:

void CsvReader::on_imgView_clicked()
{
    ImageViewer* img = new ImageViewer(this);
    img->setModal(true);
    img->exec();
QModelIndex List selInd ui->tableView->selectionModel()->selectedIndexes();
QString id = model->item(selInd.first().row(), 0)->text();

img->viewImage(id);
}

编辑 2: 解决了。必须使用 QDir 更改路径:

QDir* directory = new QDir("/home/kokos/Magazyn/photos");
QFileInfo checkFile(*directory, pathWithName);

提前致谢, 科科斯

最佳答案

首先确认您的文件的位置和存在。添加这个;

    QFileInfo checkFile(pathWithName);

    if (checkFile.exists() && checkFile.isFile()) {
        // your code
    }

关于c++ - 显示Qt资源中没有的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34144372/

相关文章:

c++ - 查找 C++ 模板标识符列表的末尾

image - Tensorflow、train_step 馈送不正确

c++ - Qt:QStandardItem 是否通过 QVariant 获得指针的所有权?

c++ - 使用 constexpr C 字符串作为编译器错误消息

c++ - gltexcoord[].st 不适用于新硬件

c++ - 对值进行排序

asp.net-mvc - Krajee bootstrap fileinput-显示数据库中的图像

html - 覆盖图像的背景不透明度

c++ - Qt 数据库模块是否支持通过网络连接远程数据库?

c++ - 加权 Voronoi 的 CGAL 2D APOLLONIUS 图 - 如何生成和获取面和顶点?