彻底解决QT5 中文编译不过问题

在windows平台使用Qt5开发时,会出现源码(.cpp或者qml)中包含中文,导致编译不通过,具体的错误代码见下图:

原因分析

出现错误的原因是windows下,QT默认只使用"UTF-8"的编码方式,而中文字体需要"UTF-8-BOM"格式。

解决方法

方法1:(最简单)

在类的构造函数中添加上面两行代码,可以解决该类中包含中文编译不过的问题。

cpp 复制代码
QTextCodec *codec = QTextCodec::codecForName("UTF-8-BOM");
QTextCodec::setCodecForLocale(codec);

方法2:

用notepad++ 打开每个包含中文的源码文件,"Encoding"选择UTF-8-BOM编码,然后保存关闭。

相关推荐
blasit7 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
阿白的白日梦12 小时前
winget基础管理---更新/修改源为国内源
windows
肆忆_1 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星1 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛3 天前
delete又未完全delete
c++
端平入洛4 天前
auto有时不auto
c++
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21885 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
哇哈哈20215 天前
信号量和信号
linux·c++