Qt名称文件图片

时间:2018-06-03 14:01:54

标签: c++ qt

我在标签中创建了一个窗口和一张图片。它在我给出整个文件的本地化时起作用,但我不能让它像那样。我应该这样离开:

ui->setupUi(this);
ui->label_10->setPixmap(QPixmap("C:/Users/JDober/Desktop/UnknownPrinter.jpg"));

它应该是这样的:

 ui->setupUi(this);   
 ui->label_10->setPixmap(QPixmap("UnknownPrinter.jpg"));

但这不起作用。我将此文件放在与项目相同的文件夹中。请帮忙。

1 个答案:

答案 0 :(得分:2)

您有几个选择。一种方法是使用QCoreApplication::applicationDirPath或其他一些众所周知的路径指定相对于应用程序目录的路径。

另一个选择是使用Qt's resource systemrcc编译器将图像直接嵌入可执行文件中,然后使用资源中的图像而不是直接从磁盘中使用。

这方面的一个示例是将文件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"));