QT windows 应用程序 exe 设置详细信息 解决中文乱码问题

news/2024/7/8 2:00:57 标签: QT, 属性, 详细信息, 中文, 乱码

上一篇博客,我们已经了解了使用NSIS进行打包软件,对于生成的安装包的详细信息进行设置。详情见这里

windows下使用QT开发,编译生成的exe或者dll,点击右键-属性-详细信息 中都是空的,那么怎么设置生成的文件的详细信息呢?

1.新创建一个.rc文件,随意命名,例如叫app.rc 并编辑

#include "winver.h"

IDI_ICON1               ICON    DISCARDABLE     "crm.ico"

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 4,4,0,1
 PRODUCTVERSION 4,4,0,1
 FILEFLAGS 0x0L
 FILEFLAGSMASK 0x3fL
 FILEOS 0x00040004L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "080404b0" //支持中文
        BEGIN
            VALUE "CompanyName", "XXXX科技有限公司"
            VALUE "FileDescription", "XXXXXXX系统"
            VALUE "FileVersion", "1.0.0.0"
            VALUE "LegalCopyright", "Copyright (c) 2019 XXXX科技有限公司"
            VALUE "InternalName", ""
            VALUE "OriginalFilename", "origin.exe"
            VALUE "ProductName", "XXXX系统"
            VALUE "ProductVersion", "4.4.0.1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x804, 1200 //语言-简体中文
    END
END

2.在.pro文件里添加配置

win32:RC_FILE = res/app.rc

3.qmake  build就好了。


这时候问题来了,我们发现中文的描述是乱码!!!!

怎么办呢?搜索网上觉大多数,都没有提到这个中文乱码的问题,属性中都是英文。如果我们真要写入中文属性,我们该怎么做?

经过多次的实验表明,应该是编码的问题,不是系统不支持。我们使用notepad++打开资源文件.rc查看文件编码

notepad++ -->编码  发现编码为 “UTF-8 BOM编码”。

中文乱码 解决方案:

notepad++   --> 编码--》转为ANSI编码

然后保存,qmake,build就可以了!

 


http://www.niftyadmin.cn/n/1339754.html

相关文章

QT C++ 获取文件的crc32

//获取文件的crc32码 QString calcFileCRC(QString fileName) {QString strCRC "";quint32 crc 0;;QFile file(fileName);bool result file.open(QFile::ReadOnly);if(result) {while(!file.atEnd()) {QByteArray raw file.read(1024*1024);crc crc ^ calcCRC32…

WebApp框架

现在在windows端写app变得越来越无趣,很多时候其实是在重复一些无趣的code, 准备写一个WebApp UI框架,使得将App的编写变得更为生动,活泼(也许吧)。底层架构为c。 大致思路: 1 整个AppUI由cef嵌…

project4电子邮局

www.extmail.net 本章目录:1、电子邮局介绍(成员的组成及工作原理)2、回顾分析第一阶段的邮局系统: postfix(MTA smtp)dovecot(pop3/imap)squirrelmail(webmail)+apachephpDNS&#xff1…

QT 多线程 线程池 QRunnalbe QThreadPool

一、背景 QT中线程很早就出现了,多线程的使用目的是为了减轻主线程压力,不至于主线程界面卡顿,提高用户体验。但是线程的创建与销毁需要与系统交互,会产生很大的开销。若需要频繁的创建线程就建议使用线程池,有线程池维…

C++ 11 bind function

今天开始逐一学习c11的新用法&#xff0c;从std::function 与 std::bind函数开始。 std::function 是一个template&#xff0c; 在一对<>中指定类型。 std::function<int(int, int)> 表明定义的是一个有两个int类型的参数&#xff0c;并且返回一个int类返回值的函…

iptables(二),常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链...

本文介绍25个常用的iptables用法。如果你对iptables还不甚了解&#xff0c;可以参考上一篇iptables详细教程&#xff1a;基础、架构、清空规则、追加规则、应用实例&#xff0c;看完这篇文章&#xff0c;你就能明白iptables的用法和本文提到的基本术语。一、iptables&#xff1…

QT 顶级窗口为QWidget 设置顶级窗口背景无效

今天同事遇到一个问题&#xff0c;就是一个很简单的demo。使用Designer创建了一个顶层窗口QWidget,然后右键设置样式表&#xff0c;将背景设置为红色。这时候看起来一切正常&#xff0c;但是运行起来的时候&#xff0c;背景居然没有更改&#xff0c;也就是设置的CSS样式表并没有…

Google Code Jam 2016 Round 1B B

题意&#xff1a;给出两个数字位数相同&#xff0c;分别中间有若干位不知道&#xff0c;用问号表示。现在要求补全这两个数字&#xff0c;使得差值的绝对值最小&#xff0c;多解则取第一个数字的值最小的&#xff0c;再多解就取第二个数字最小的。 分析&#xff1a; 类似数位dp…