处理 Qt 中文提示 “常量中有换行符”

在 Qt 自建的 Widget 窗口生成的 cpp 文件中,直接写中文编译时会提示错误。内容是 “常量中有换行符”。如下图所示:

要解决这个问题很简单,使用 notepad++ 打开你添加了中文的 cpp 文件,将编码转为 UTF8 编码(有 BOM 模式),如下所示:

这样再去编译的时候,一定不会再报错了,但是你会发现一个新的问题,就是编译出来的程序中文是乱码!

解决这个问题也很简单,在你输入中文的地方,用 QStringLiteral 宏包裹一下就可以了,代码如下:

void MainWindow::on_showMessage_clicked()
{
    QMessageBox::information(nullptr, QStringLiteral("提示"), QStringLiteral("这是一个中文的提示,来测试是否有错误。"));
}

这样再编译出来的程序就不会乱码了。

修改 Qt 默认设置让 UTF8 文件自动添加 BOM

为了让自己不用每次输入中文后都手动转换文件编码,可以设置 Qt 编辑器默认给 UTF8 格式无 BOM 的文档添加 BOM:

这样你就不用担心了,你可以随意输入中文在代码中,但记得要用 QStringLiteral 宏包裹一下。

Post Views: 9

相关

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏瓜大三哥

vim命令总结

2207
来自专栏Golang语言社区

golang中发送http请求的几种常见情况

整理一下golang中各种http的发送方式 最初的一些项目中,很多的地方都使用到了golang发送http请求,之后再对请求收到的结果进行一些处理,所用到的模...

1K8
来自专栏飞雪无情的博客

Go语言实战笔记(三)| Go Doc 文档

对于协作开发或者代码共享来说,文档是一个可以帮助开发者快速了解以及使用这些代码的一个教程,文档越全面,越详细,入门越快,效率也会更高。

1313
来自专栏北京马哥教育

linux中的vi编辑器

vim文字处理器 linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:一般模式、编辑模式、命令命令模式。它们之间的关系如下: ?...

44511
来自专栏酷玩时刻

微信公众号开发之如何使用JSSDK

使用JSSDK主要包括 1、判断当前客户端版本是否支持指定JS接口、 2、分享接口(微信认证) 3、图像接口 4、音频接口 5、智能接口(识别语音并返...

4203
来自专栏技术杂谈

用100行Nodejs代码写微博爬虫

执行fetchHtml的时候附带登录的 Cookie,本文把 Cookie 存在 Cookie.txt

2.3K8
来自专栏阮一峰的网络日志

Javascript异步编程的4种方法

你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排...

2745
来自专栏光变

Vim实现批量注释的方法

调试代码的时候,免不了要批量注释/取消代码注释,很多IDE都有快捷键将你选中的…

1071
来自专栏mySoul

cookie

除了名(name)和值(value),cokie持续有效时间很短,只能持续在web浏览器的会话期间。一旦用户关闭浏览器,用户保存的数据就全部丢失。cookie需...

1622
来自专栏小狼的世界

PHP读取Excel文件内容

项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

2452

扫码关注云+社区

领取腾讯云代金券