以下内容转载或引用或参考
http://blog.youkuaiyun.com/liang19890820/article/details/51880826
简述
在Windows下使用Qt时,通常会用到Windows的资源文件 - 为exe设置信息,其中包括:文件说明、产品名称、产品版本、版权等信息。。。
由于是Windows平台相关的东西,Qt助手中对于rc文件几乎没有任何介绍(在Setting the Application Icon一文中简单提到)。
资源信息
效果
实现
首先,我们添加一个名为version.h的头文件,包含资源信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
然后,添加资源文件并进行设置。。。例如:myapp.rc
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
最后,在.pro文件中,添加:
- 1
- 1
图标
参考MSDN:ICON resource
为指定应用程序定义图标:
- 1
- 1
参数
-
nameID
唯一名称或一个16位无符号整数值,识别资源。 -
filename
包含该资源的文件名称。该名称必须是有效的文件名;如果文件不在当前工作目录,那么必须使用完整路径。路径应该是带引号的字符串。
示例
下面示例,定义了两个资源图标:
- 1
- 2
- 1
- 2
可参考:Using Icons
VERSIONINFO
见MSDN:VERSIONINFO resource 和 VS_FIXEDFILEINFO structure
定义一个版本信息资源。该资源包含有关文件的版本号、原始文件名等信息。该资源用于与Version Information一起使用。
格式化VERSIONINFO
有两种方式格式化VERSIONINFO:
- 1
- 1
或者
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
参数
-
versionID
版本信息资源标识符。此值必须为1。 -
fixed-info
版本信息,如文件版本和操作系统。此参数包括以下语句:
字段 | 描述 |
---|---|
FILEVERSION version | 文件的二进制版本号。该版本由四个16位整数定义。例如:“FILEVERSION 3,10,0,61” |
PRODUCTVERSION version | 产品版本,同上 |
FILEFLAGSMASK fileflagsmask | 属性的掩模 |
FILEFLAGS fileflags | 文件属性 |
FILEOS fileos | 用于何种操作系统 |
FILETYPE filetype | 文件一般类型(对于dll,类型为 VFT_DLL) |
FILESUBTYPE subtype | 文件子类型 |
-
block-statement
指定一个或多个版本信息块。块包含字符串信息或可变信息。欲了解更多信息,请参考:StringFileInfo BLOCK 或 VarFileInfo BLOCK
对应的结构体:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15