QT中编译错误:error: C2001: 常量中有换行符的解决办法
问题:qt中编译错误常量中有换行符
解决办法:
1、打开 编辑->Select EnCoding...

2、选择System->按编码保存即可。
原因:
因为Windows默认的GBK编码和UTF-8编码的冲突造成的,转换文件为GBK编码就行了。
逆向思路
但其实正常情况下,utf8格式没有什么问题,不会出现报错,但是偶尔就是会出现这种问题。但是当前,转为gbk格式后,我用到了textEdit->append("中文"),这里又输出乱码。正常在代码为utf8时,这里不会出错的。
(那换个想法,把文件改成gbk,但是我会用到textEdit->append,这样会输出乱码,原因是不是这里需要utf8格式,但是给的是gbk模式,那在这里把gbk格式转utf8格式)
最后上面的想法,变成了,
ui->textEdit->append(QString::fromLocal8Bit("中文"))
完美解决了,但相关控件应该都需要这么写了。至少问题解决了✓
(**fromLocal8Bit = 读取系统本地编码(Windows 就是 GBK))**
同时
boy=new QPerson(u8"王明");
QT的大部分控件需要使用utf8格式,所以这里加了个 u8 。