Qt添加系统的资源文件(Window系统的RC文件等)

来源:互联网 发布:怎么用手机开淘宝网店 编辑:程序博客网 时间:2024/06/01 15:28

资源文件:Windows上是RC文件,Ios和Osx上是plist文件,Android上是xml文件,linux上是普通文件(Linux可以说就是一个文件系统)。
其实这些都是不同样式的资源文件,所以,这里准备一个公共宏,具体哪个系统再具体区分就好了。

这些资源文件目的就是为了方便项目中的资源统一管理,例如我们在Window上,通常会用到RC资源文件,为exe设置详细信息,其中包括:文件说明、产品名称、产品版本、版权等信息。


用Windows系统举例,我们先定义一个公共宏:

——————————————————————————————————————————

#ifndef ALVERSION
#define ALVERSION


#define VER_FILEVERSION 1,0,0,0 //文件版本
#define VER_FILEVERSION_NB 100 //内部版本
#define VER_PRODUCTVERSION 1,0,0,0
#define VER_PRODUCTVERSION_STR "1.0.0.0" //产品版本
#define VER_COMPANYNAME_STR "shashidi"
#define VER_COMMENTS_STR "shashidi- Remote display"
#define VER_FILEDESCRIPTION_STR "shashidi for win32" //文件说明
#define VER_INTERNALNAME_STR "shashidi"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) United shashidi" //版权
#define VER_LEGALTRADEMARKS1_STR "All rights reserved"
#define VER_ORIGINALFILENAME_STR "shashidi.exe" //原始文件名
#define VER_PRODUCTNAME_STR "shashidi" //产品名称
#define VER_COMPANYDOMAIN_STR "shashidi.org"

#endif // ALVERSION
——————————————————————————————————————————


然后在RC文件中,这么处理:

——————————————————————————————————————————

IDI_ICON1               ICON    DISCARDABLE     "application_win.ico"


#include "alversion.h"
#if defined(UNDER_CE)
#include <winbase.h>
#else
#include <winver.h>
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
#ifdef _DEBUG
FILEFLAGS 0x2dL
#else
FILEFLAGS 0x2cL
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "Comments", VER_COMMENTS_STR
VALUE "CompanyName", VER_COMPANYNAME_STR
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
VALUE "FileVersion", VER_PRODUCTVERSION
VALUE "InternalName", VER_INTERNALNAME_STR
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE "LegalTrademarks", VER_LEGALTRADEMARKS1_STR
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE "PrivateBuild", VER_FILEDESCRIPTION_STR
VALUE "ProductName", VER_PRODUCTNAME_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
——————————————————————————————————————————


以上讲的有点复杂,比如最简单的,给你的windows可执行程序添加一个图标。
1、创建rc文件
   IDI_ICON1               ICON    DISCARDABLE     "application_win.ico"不要用中文
2、Qt的pro或pri文件中添加rc文件就可以了
   win32:RC_FILE = icon/c5_applicationicon.rc
0 0
原创粉丝点击