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中,提供了一种添加资源文件的方法,将图标文件添加到项目中,具体做法如下:
(注意:文件名和文件路径不能有中文字符)
- 将资源文件复制到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属性,重复上述操作即可。最终的效果如下: