ayuansama 2024-04-14 19:44 采纳率: 57.1%
浏览 30

Qt6.6无法使用QImage或者QPixmap读取jpg格式的文件

代码如下

void mainWindow::on_actionOpenFile_triggered() {
    source_file_name = QFileDialog::getOpenFileName(this, tr("Open File"), "",
                                            tr("Image Files(*.jpg *.png *.bmp *.jpeg *.gif))"));
    if (!source_file_name.isEmpty()) {
        QImage image(source_file_name);
        if (image.isNull()) {
                qDebug() << "QImage Failed to load image: " << source_file_name;
            return;
        }
        QPixmap pixmap(QPixmap::fromImage(image));
        if (!pixmap.isNull()) {
            left->clear();
            left->addPixmap(pixmap);
            GraphicLeft->setScene(left);
            setWindowTitle(source_file_name);
        } else {
            qDebug() << "QPixmap Failed to load image: " << source_file_name;
        }
    }
}
//部分定义如下
    QGraphicsScene *left;
    QGraphicsScene *right;
    QString source_file_name;
    QString target_file_name;
//其中GraphicLeft是QGraphicsView

图片对比如下

img

运行结果如下

img


可以正常打开这张蕾姆的图片,只是没做缩放,换成jpg格式的图片就无法打开

img


如果您能知无不言言无不尽,我在这里表示感谢!

  • 写回答

5条回答 默认 最新

  • DTcode7 前端领域优质创作者 2024-06-12 13:16
    关注

    答案引用自chatgpt生成,望对题主有所帮助/启发;若有帮助,还望采纳!

    Qt6.6无法使用QImage或者QPixmap读取jpg格式的文件,可能是因为缺少相应的库文件。在Qt中,要使用QImage或QPixmap读取jpg格式的文件,需要安装并链接到libjpeg库。

    首先,确保已经安装了libjpeg库。在Ubuntu系统中,可以使用以下命令安装:

    sudo apt-get install libjpeg-dev
    

    然后,在项目文件(.pro)中添加以下内容,以链接到libjpeg库:

    LIBS += -ljpeg
    

    接下来,可以使用以下代码示例来读取jpg格式的文件:

    #include <QCoreApplication>
    #include <QImage>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        QImage image("path/to/your/image.jpg");
        if (image.isNull()) {
            qDebug() << "无法加载图片";
            return -1;
        }
    
        qDebug() << "图片宽度:" << image.width();
        qDebug() << "图片高度:" << image.height();
    
        return a.exec();
    }
    

    这段代码首先包含了必要的头文件,然后在main函数中创建了一个QImage对象,并尝试从指定路径加载jpg格式的图片。如果图片加载成功,将输出图片的宽度和高度;否则,输出错误信息。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月14日

悬赏问题

  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 关于路由器的路由协议配置
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫