返回Qt项目中图形的文件夹路径



为了设计一个定制的按钮,我添加了一个图片来源(1(:

#include "mybutton.h"
#include <QDebug>
#include <QDir>
#include <QIcon>
#include <QPixmap>
MyButton::MyButton(QWidget *parent) : QPushButton(parent) {
QPixmap pixmap("/home/myCode/MyButton/MyButton/graphics/myPicture.png"); //(1) picture source
QIcon buttonIcon;
buttonIcon.addPixmap(pixmap);
this->setIcon(buttonIcon);
this->setIconSize(pixmap.rect().size());

}

当然,有时图片的本地路径会发生变化
所以我想在编译时告诉Qt这样的内容:文件的路径是workspacefolder/graphics/myPicture.png像在VS代码中一样,您可以配置构建任务(tasks.json(以使用g++进行编译,并使用变量${workspaceFolder}进行引用。


我尝试使用QDir类的函数,但该函数只在调试时返回,而不是在编译时返回。

qDebug() << QDir::currentPath();

是否可以在QDir函数的帮助下返回workspaceFolder?

Qt资源系统是您所需要的,然后图像将被"卷成";可执行文件。

就像您提到的添加资源文件一样,效果很好。

  1. 添加新文件:Qt->Qt资源文件(Resource.qrc(
  2. 项目树添加了";资源"-文件夹
  3. 打开文件夹
  4. 右键单击resource.qrc
  5. 添加前缀/
  6. 将位于图形文件夹中的图像文件添加到该前缀
  7. 右键单击对象并复制路径
  8. 将副本作为资源添加到需要的位置

在我上面提到的代码结果中,答案如下:

QPixmap pixmap(":/graphics/myPicture.png");

Qt自动将资源文件添加到.pro文件我想这是编译器的链接

RESOURCES += 
resource.qrc

我已经测试过移动项目文件夹并重命名它。图像资源正在工作。

相关内容

  • 没有找到相关文章

最新更新