0

当我使用 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();
}
4

1 回答 1

1

由于找不到图像文件,您的像素图似乎无法加载。您应该在使用pixmap.isNull()前检查它。

最好将图像文件放入Qt资源文件中,这样会包含在可执行文件中。

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

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

于 2013-06-21T19:43:02.537 回答