文章目录
1 需求背景
2 解决方法
2.1 注意事项一
2.2 注意事项二
3 效果
1 需求背景
本次项目计划成为一个较为正式版本的程序,参考大公司的程序信息如下图所示,这么对比下来,一下显示我们的软件是小制作方生产数来的了,所以决定研究一下,给我们的程序也加上详细信息。。
2 解决方法
参考资料:
https://blog.csdn.net/zuoweijie_/article/details/100063965
按照前辈慢的分享,开干就可以
新建一个文件DataSeerverInfo.rc,填充内容如下
#if defined(UNDER_CE) #include <winbase.h> #else #include <winver.h> #endif VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080404b0" BEGIN VALUE "CompanyName", "BeiJing NewJJ Co., Ltd." VALUE "FileDescription", "数据服务器\0" VALUE "FileVersion", "1.0.0.0" VALUE "InternalName", "DataServer.exe" VALUE "LegalCopyright", "Copyright (C)2021-2023" VALUE "OriginalFilename", "DataServer.exe" VALUE "ProductName", "DataServer" VALUE "ProductVersion", "1.0.0.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x804, 1200 END END
在pro文件中加入RC_FILE += DataSeerverInfo.rc
,如下图所示
2.1 注意事项一
在新版本的Qt中,如果仅仅是给程序添加图标,仅需要在pro文件加入代码RC_ICONS = ./Images/logo.ico
,如果这时我们引入了我们的文件后会使这个失效,需要把在这个实现也放到我们的文件中,如下:
#if defined(UNDER_CE) #include <winbase.h> #else #include <winver.h> #endif IDI_ICON1 ICON DISCARDABLE "./Images/logo.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080404b0" BEGIN VALUE "CompanyName", "BeiJing NewJJ Co., Ltd." VALUE "FileDescription", "数据服务器\0" VALUE "FileVersion", "1.0.0.0" VALUE "InternalName", "DataServer.exe" VALUE "LegalCopyright", "Copyright (C)2021-2023" VALUE "OriginalFilename", "DataServer.exe" VALUE "ProductName", "DataServer" VALUE "ProductVersion", "1.0.0.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x804, 1200 END END
2.2 注意事项二
如果我们正在文件中有中文,例如我的文件描述为“数据服务器”,那么需要更改我们的编码格式为ANSI即可,默认可能是UTF-8
3 效果
效果那肯定是杠杠的,如下