2014-09-23 545 views
0

为什么会发生以下情况?为什么QPixmap.load()失败,即使它说它不?

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渲染正常。

回答

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

希望有所帮助。

+0

感谢您的帮助,但我只是想通了:我正在造成这个错误的非gui线程创建pixmap。 – chacham15 2014-09-24 00:32:57

+0

它仅用于在Qt 4.8中的应用程序输出上提供有关后者的运行时警告。我想Qt最终将其推向了全面失败。 – phyatt 2014-09-24 20:43:18

相关问题