我在标签中创建了一个窗口和一张图片。它在我给出整个文件的本地化时起作用,但我不能让它像那样。我应该这样离开:
ui->setupUi(this);
ui->label_10->setPixmap(QPixmap("C:/Users/JDober/Desktop/UnknownPrinter.jpg"));
它应该是这样的:
ui->setupUi(this);
ui->label_10->setPixmap(QPixmap("UnknownPrinter.jpg"));
但这不起作用。我将此文件放在与项目相同的文件夹中。请帮忙。
答案 0 :(得分:2)
您有几个选择。一种方法是使用QCoreApplication::applicationDirPath
或其他一些众所周知的路径指定相对于应用程序目录的路径。
另一个选择是使用Qt's resource system和rcc
编译器将图像直接嵌入可执行文件中,然后使用资源中的图像而不是直接从磁盘中使用。
这方面的一个示例是将文件resources.qrc
添加到您的项目中,具有以下内容:
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file>UnknownPrinter.jpg/file>
</qresource>
</RCC>
如果您正在使用QMake,请在.pro
文件中添加一行以注册资源文件:
RESOURCES = resources.qrc
然后,您可以在以下代码中使用图像资源:
ui->setupUi(this);
ui->label_10->setPixmap(QPixmap(":/UnknownPrinter.jpg"));