QT添加资源文件

1、不添加资源文件

在给工具栏、按钮、窗口等设置图标时,如果不使用资源文件的形式,而是利用绝对路径的方法,在绝对路径发生变化或者项目发送到另一个设备时,图标就会失效。

 //绝对路径形式,当路径变化资源失效
    ui->actionNew->setIcon(QIcon("E:/learn/QT/code/chap2/samp2_3/images/new.png"));
    ui->actionOpen->setIcon(QIcon("E:/learn/QT/code/chap2/samp2_3/images/file-open.png"));

2、添加资源文件

在QT中,提供了一种添加资源文件的方法,将图标文件添加到项目中,具体做法如下:
(注意:文件名和文件路径不能有中文字符)

  1. 将资源文件复制到QT项目的根目录下:
    在这里插入图片描述

在这里插入图片描述

  • 在QT creator里面新建资源文件:
    a.点击文件-New file-选择Qt下的Qt Resource File,点击确定。
    在这里插入图片描述
    b.给资源文件取名,不能含有中文,点击下一步。
    在这里插入图片描述
    点击完成。
    在这里插入图片描述
    3.在项目的资源文件夹下会生一个.qrc文件,右键选择Open in Editor
    在这里插入图片描述

  • 点击添加前缀,并给子目录取名。在这里插入图片描述

  • 点击添加文件,进入资源文件夹下,选中需要添加的资源文件。
    在这里插入图片描述

  • 点击构建项目,就能在项目文件夹下看到添加的资源文件了,至此资源文件添加完成。
    在这里插入图片描述

3、使用资源文件

(1)代码使用

将绝对路径更改成下面的相对路径即可。

    //使用添加QT资源   ":+前缀名 + 文件名"
    ui->actionNew->setIcon(QIcon(":/icons/images/new.png"));
    ui->actionOpen->setIcon(QIcon(":/icons/images/file-open.png"));

在这里插入图片描述

(2)设计界面使用

QT也支持在ui设计界面使用资源文件。比如给下面的的登录和退出按钮添加图标,以及给窗口添加图标。
在这里插入图片描述
具体步骤如下:
(1)选择的对应的按钮,在右侧找到icon属性,点击选择开右侧的三个小点点。
在这里插入图片描述
(2)在弹出的界面上选择对应的图标
在这里插入图片描述
(3)窗口图标同上,选择对应的窗口找到icon属性,重复上述操作即可。最终的效果如下:

在这里插入图片描述

Visual Studio Code (VSCode) 配合Qt开发时,想要添加资源文件(如图片、文本文件等),可以按照以下步骤操作: 1. **设置项目结构**: - 创建一个新的Qt项目或者在现有项目中,创建一个`resources`文件夹用于存放资源。 2. **将资源复制到`resources`目录**: - 将所需的资源文件(例如.qrc文件或直接放置图像文件)放在这个文件夹内。 3. **创建`.qrc`资源文件**: - 如果还没有,你可以手动创建一个`.qrc`(Resource Collection)文件,这是Qt用来管理资源的一种机制。可以在`resources`目录下右键新建并选择`Qt Resource File`。 4. **编辑`.qrc`文件**: - 使用文本编辑器打开`.qrc`文件,然后添加 `<file>` 标签来引用资源文件,比如: ```xml <file> <location>images</location> <resourceName>images</resourceName> </file> ``` 这里`images`是你资源文件夹名,`resourceName`是资源包内的名称。 5. **关联`.qrc`文件到工程**: - 打开项目的.pro配置文件,在`RESOURCES`选项中添加新创建的`.qrc`文件,如: ```pro RESOURCES += resources.rc ``` 6. **使用资源**: - 在Qt的MOC预处理器文件中,可以通过`QRC_FILE()`宏引用资源。如果需要在类中加载图片,例如: ```cpp QLabel *label = new QLabel(); QIcon icon(QStringLiteral(":/images/icon.png")); label->setIcon(icon); ``` 7. **构建应用**: - 构建项目时,Qt会自动处理资源文件,并将其嵌入到最终的二进制文件中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值