专栏首页程序员Qt添加资源文件

Qt添加资源文件

为了方便跨平台使用,Qt提供了一个资源系统。资源系统用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。也就是把资源文件编译成为可执行文件的一部分。这样就不怕路径问题以及资源文件被误删。

在这里先分享一个免费获取图标的网站:https://www.iconfinder.com/

好了,下面来演示如何创建资源文件。

首先,打开文件菜单,选择新建一个项目或者文件,选择下图所示的资源文件。

如果是在做项目开发,那么前缀表示你之后需要添加哪一类的资源文件。例如你命名为file,然后就添加和文件有关的,比如打开文件图标,关闭文件图标,新建文件图标。要保证前缀的意义。

做完这一步,会看到多了个/文件夹。

然后就可以点击Add Files添加文件了。

如果你的资源文件没有放在当前项目下,它可能会提示你是否复制资源文件到当前项目下。最好是复制到当前项目下。

别名的作用是我们如果修改了资源文件的文件名,但是我们使用别名来引用资源文件,那么将不会造成错误。用别名可以保证你即使修改了文件名,也不会出错。

资源文件添加好以后,我们就可以使用资源文件了。资源文件的路径我们可以这样获取:右键文件,然后点击下图所示:

这就是它的路径,当然通过观察我们就会发现,实际上这个路径就是——冒号+前缀+文件名

那我们在代码中设置两个图标来看看。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QIcon>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    
    ui->setupUi(this);
    //设置图标,使用资源文件。
    ui->actionOpen->setIcon(QIcon(":/Icon/Open.png"));          
    ui->actionNew->setIcon(QIcon(":/Icon/New.png"));
}

MainWindow::~MainWindow()
{
    delete ui;
}

这次我们在创建项目的时候使用了ui文件,因此快速的创建了一些对象。我们在代码里设置了atcionOpen和actionNew的图标。运行结果如下所示:

实际上资源文件会被编译成为cpp文件的。可以在项目下看的,确实是会被编译成为二进制文件的。

当然了ui文件也会被编译成为cpp文件,如下所示:

关于资源文件,就介绍这么多了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux文件I/O函数

    版权声明:本文为博主原创文章,转载请注明博客地址: ...

    zy010101
  • Linux文件及文件I/O

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.ne...

    zy010101
  • Linux内核中文件的数据结构和原子操作

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/z...

    zy010101
  • linux基础 二

    可分享的,可分享给其他系统挂载使用的目录,即执行文件,用户邮件,可分享给网络上其他用户的

    mySoul
  • CTF解题技能之MISC基础

    杂项题目主要是以文件附件作为题目,但是给的文件不一定是有后缀名的,这就需要我们识别这些文件

    漏斗社区
  • 《linux c编程指南》学习手记4

    7.1 文件系统简介 7.1.1 文件 文件类型:普通文件、目录文件、链接文件、设备文件、管道文件 文件权限:r w x 访问权限:文件所有者、文件所有者同组用...

    用户1154259
  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • 收集3:所有文件格式

    A 对象代码库文件 AAM Authorware shocked文件 AAS Authorware shocked包 ABF Adobe二进制屏幕字体 ...

    py3study
  • Python 之文件读写操作

            使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:

    py3study
  • 06 . Python3入门之IO编程(文件操作)

    4. f.write() f.write(string)将string写入到文件中,然后返回写入的字符数.

    youmen

扫码关注云+社区

领取腾讯云代金券