为什么QPixmap.load()失败了,即使它说它没有?

时间:2014-09-23 23:04:43

标签: c++ qt

为什么会发生以下情况?

QPixmap getUnknownPixmap(){
    QPixmap pix;
    if (!pix.load(":/resources/Unknown.jpg")){
        //this doesnt print out
        printf("ERROR ----------------- COULD NOT LOAD UNKNOWN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
        fflush(0);
    }
    if (pix.isNull()){
        //this prints out
        printf("ERROR ----------------- UNKNOWN IS NULL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); 
        fflush(0);
    }
    return pix;
}

P.S。不在资源文件中的其他jpeg渲染正常。

1 个答案:

答案 0 :(得分:2)

Qt Label::setPixmap not working

http://qt-project.org/doc/qt-5/qpixmap.html#isNull

您正在加载的文件可能已损坏或零宽度或零高度。尝试使用其他资源,查看是否正确填充它。

同样从资源编辑器中,您可以右键单击其中的元素并获取资源路径。

http://qt-project.org/doc/qt-5/resources.html

希望有所帮助。