C++ Qt QPixmap 始终加载 returns false
C++ Qt QPixmap load always returns false
我尝试使用 QPixmap 加载图像。
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPixmap test;
qDebug()<< test.load(":/test.bmp");
}
无论我如何更改文件路径,它总是returns false。怎么了?
TL;DR: 将以下行添加到您的 .pro 文件中。
RESOURCES += test.bmp
以冒号开头的文件路径,如上面的“:/test.bmp”,被视为资源(请参阅 http://doc.qt.io/qt-5/resources.html)并被编译到二进制文件中,因此您不需要将它们作为文件发送(如果 BMP 文件不是那么大,我只会使用资源,因为加载二进制文件时它将在内存中)。
或者,您可以只在 QPixmap::load()
中给出文件的相对或绝对路径,不带冒号,例如test.load("test.bmp")
.
我尝试使用 QPixmap 加载图像。
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPixmap test;
qDebug()<< test.load(":/test.bmp");
}
无论我如何更改文件路径,它总是returns false。怎么了?
TL;DR: 将以下行添加到您的 .pro 文件中。
RESOURCES += test.bmp
以冒号开头的文件路径,如上面的“:/test.bmp”,被视为资源(请参阅 http://doc.qt.io/qt-5/resources.html)并被编译到二进制文件中,因此您不需要将它们作为文件发送(如果 BMP 文件不是那么大,我只会使用资源,因为加载二进制文件时它将在内存中)。
或者,您可以只在 QPixmap::load()
中给出文件的相对或绝对路径,不带冒号,例如test.load("test.bmp")
.