从Qt Creator运行时,QLabel不显示图像

时间:2013-06-21 18:20:16

标签: image qt qlabel

当我使用QtCreator 2.7.0运行程序时,会出现一个空白的应用程序窗口。当我在发布文件夹中运行可执行文件时,它可以工作。可能是什么问题?

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel topLevelLabel;
QPixmap pixmap("gem.jpg");
topLevelLabel.setPixmap(pixmap);
topLevelLabel.setMask(pixmap.mask());
topLevelLabel.show();
return app.exec();
}

1 个答案:

答案 0 :(得分:1)

似乎您的pixmap无法加载,因为无法找到图像文件。在使用之前,您应该使用pixmap.isNull()进行检查。

最好将图像文件放入Qt资源文件中,因此它将包含在可执行文件中。

如果您仍想加载与可执行文件保存在同一目录中的文件,请注意"gem.jpg"是工作目录的相对路径。您需要使用QApplication::arguments().at(0)找到可执行位置,并构建图像的绝对路径。但请注意,Qt Creator通常会在临时构建目录中生成可执行文件,因此您需要将图像文件复制到其中。

好吧,就像我说的,最好将图像文件放入Qt资源文件中。