QT保护发布软件中图片资源的安全方法
QT中有三种使用图片的方法
一、直接编译到EXE中,这个方法扩展性不好,我没用!
二、通过路径引用图片,比如样式表中这样用 background-image: url(info.png); 这样用很方便,
换风格只要更换一下图片就可以了!我原来就是这样用的,但是今天我发现一个很严重的问题,
如果我发布的软件被恶意修改了图片,而用户又不懂,这样的后果不可想象,所以我就开始找解决办法,GOOGLE一下,必现另一个方法!
三、生成RCC文件,在程序中调用用!
原文地地址http://qtdocs.sourceforge.net/index.php/Qt_%E8%B5%84%E6%BA%90%E7%B3%BB%E7%BB%9F
由于我这个人比较笨,所以我只学会使用rcc来编译图片文件,我的方法如下:
1.开始 -> 运行 -> cmd 然后回车就会弹出命令行界面 ,cmd是window下的dos
然后进入QT的安装目录,进入bin目录 进入img目录(这个img要你自己创建,进入目录的dos命令是cd)
2.在 img文件夹下新建一个名为img.qrc的文件 并复制一个名为info.png的图片到该img夹内,同时把bin下的rcc.exe文件复制到这个文件夹中
3.复制如下代码到img.qrc文件里保存
现在你的img文件夹内应该有img.qrc文件,info.png文件和rcc.exe文件了
4.在cmd中运行如下命令
rcc -binary img.qrc -o img.rcc
注意 -binary 和 -o 中的-应该和后面的命令连在一起不然会出错的
回车后如果没提示什么就表示成功了,你可以到img文件夹内看一下,如果有一个img.rcc文件就表示成功了
5.新建一下QT GUI项目,
加入头文件#include <QResource>
在子类的构造函数中输入
生成运行你就会看到效果了
QT中有三种使用图片的方法
一、直接编译到EXE中,这个方法扩展性不好,我没用!
二、通过路径引用图片,比如样式表中这样用 background-image: url(info.png); 这样用很方便,
换风格只要更换一下图片就可以了!我原来就是这样用的,但是今天我发现一个很严重的问题,
如果我发布的软件被恶意修改了图片,而用户又不懂,这样的后果不可想象,所以我就开始找解决办法,GOOGLE一下,必现另一个方法!
三、生成RCC文件,在程序中调用用!
原文地地址http://qtdocs.sourceforge.net/index.php/Qt_%E8%B5%84%E6%BA%90%E7%B3%BB%E7%BB%9F
由于我这个人比较笨,所以我只学会使用rcc来编译图片文件,我的方法如下:
1.开始 -> 运行 -> cmd 然后回车就会弹出命令行界面 ,cmd是window下的dos
然后进入QT的安装目录,进入bin目录 进入img目录(这个img要你自己创建,进入目录的dos命令是cd)
2.在 img文件夹下新建一个名为img.qrc的文件 并复制一个名为info.png的图片到该img夹内,同时把bin下的rcc.exe文件复制到这个文件夹中
3.复制如下代码到img.qrc文件里保存
1
2
3
4
5
|
<!DOCTYPE RCC><
RCC
version
=
"1.0"
>
<
qresource
>
<
file
>info.png</
file
>
</
qresource
>
</
RCC
>
|
现在你的img文件夹内应该有img.qrc文件,info.png文件和rcc.exe文件了
4.在cmd中运行如下命令
rcc -binary img.qrc -o img.rcc
注意 -binary 和 -o 中的-应该和后面的命令连在一起不然会出错的
回车后如果没提示什么就表示成功了,你可以到img文件夹内看一下,如果有一个img.rcc文件就表示成功了
5.新建一下QT GUI项目,
加入头文件#include <QResource>
在子类的构造函数中输入
1
2
|
QResource::registerResource(
"img.rcc"
);
this
->setStyleSheet(QString(
"background-image: url(:info.png);"
));
|
生成运行你就会看到效果了