C ++ Qt QPixmap加载始终返回false

时间:2018-08-07 07:39:13

标签: c++ qt qpixmap

我尝试使用QPixmap加载图像。

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

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

1 个答案:

答案 0 :(得分:1)

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

RESOURCES += test.bmp

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

或者,您可以仅在QPixmap::load()中提供文件的相对或绝对路径,而无需使用冒号,例如test.load("test.bmp")