在新电脑做一个简单的Qt项目时,在debug输出的时候,出现了C2001错误,提示“常量中有换行符”,
比如
ui->pBtnStart->setText(tr("开始监测"));
就会出现常量中有换行符,肉眼确实没看出来......
但是
ui->pBtnStart->setText(tr("停止监测"));
却可以顺利通过编译,试了很久改了编码也不行,即便编译通过界面显示却会乱码。
最后通过网上百度,找到了3种解决方式:
1、将字符中的中文字符用英文字母或单词代替,这样解决的好处是代码规范,语言统一,缺点就是没有中文表达那样直接、
清晰。(如果是这样我就不会去用中文了!!!)
2、使用中文字符常量时,用QStringLiteral修饰中文字符,格式如QStringLiteral("中文字符"),这种方法必须在每次使用中
文字符时都需要进行修饰,否则还是会出现错误,所以比较麻烦。
3、直接在头文件声明处添加
#pragma execution_character_set("utf-8");
,直接解决此错误。
我采用了第3种方法,其步骤如下:
1、QT界面菜单栏->工具->选项->文本编辑器,修改成如果编码是UTF-8则添加,如图:

2、QT界面菜单栏->编辑->Slect Encoding...->UTF-8->按编码保存<

最低0.47元/天 解锁文章
4303

被折叠的 条评论
为什么被折叠?



