C++ Qt QPixmap 加载总是返回 false

标签 c++ qt qpixmap

我尝试使用 QPixmap 加载图像。

void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    QPixmap test;
    qDebug()<< test.load(":/test.bmp");
}

无论我如何更改文件路径,它总是返回 false。怎么了?

最佳答案

TL;DR:将以下行添加到您的 .pro 文件。

RESOURCES += test.bmp

以冒号开头的文件路径,如上面的“:/test.bmp”被视为资源(参见 http://doc.qt.io/qt-5/resources.html)并被编译成二进制文件,因此您不需要将它们作为文件发送(我只有当 BMP 文件不是那么大时才会使用资源,因为加载二进制文件时它将在内存中)。

或者,您可以在 QPixmap::load() 中给出文件的相对或绝对路径,不带冒号,例如test.load("test.bmp").

关于C++ Qt QPixmap 加载总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51721366/

相关文章:

qt - QGraphicsView 滚动和图像缩放/裁剪

Qt4:QLabel -> QPixmap -> 点击打开URL

c++ - 从普通类派生的抽象类。那有效吗?

c++ - 为什么在同一条语句中左移和右移会产生不同的结果?

c++ - 优先选择一个 operator[] 而不是另一个

c++ - qt c++ QDialog 打开新文件

qt - 如何防止 QDialog 在任务栏中输入内容?

c++ - 为什么 QHeaderView::section:checked 和 :selected 样式表不起作用?

c++ - Cocos2d - 找不到 cassert 文件

c++ - 如何使用点在 QPixmap 上画线