QT 程序添加详细信息

168 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 titlle bar

欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈。

1 需求背景2 解决方法2.1 注意事项一2.2 注意事项二3 效果

1 需求背景

本次项目计划成为一个较为正式版本的程序,参考大公司的程序信息如下图所示,这么对比下来,一下显示我们的软件是小制作方生产数来的了,所以决定研究一下,给我们的程序也加上详细信息。。

image-20210414142120070

2 解决方法

参考资料:

blog.csdn.net/zuoweijie_/…

按照前辈慢的分享,开干就可以

新建一个文件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 ,如下图所示

image-20210414142810014

2.1 注意事项一

在新版本的Qt中,如果仅仅是给程序添加图标,仅需要在pro文件加入代码RC_ICONS = ./Images/logo.ico,如果这时我们引入了我们的文件后会使这个失效,需要把在这个实现也放到我们的文件中,如下:

image-20210414143130971

完整代码如下:

#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

image-20210414145036442

3 效果

效果那肯定是杠杠的,如下

image-20210414145342223