当前位置: 首页 > news >正文

【Qt一坑】qt编译出现“常量中有换行符”

在qt编译过程中出现“常量中有换行符”,原因有以下几点(qt版本5.14.2):

  1.中文编码格式问题,将UTF-8编码格式改成 UTF-8 BOM。

或者使用QtCreator 进行如下设置(找到Qt的左边列表里的项目,下的Manage Kits,下的文本编辑器,下的Behavior,将箭头所指位置分别改成“UTF-8”,以及“如果编码是UTF-8则添加”,点击确定):

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

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

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

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

  2.依旧采用默认编码,在需要使用中文的地方使用QStringLiteral("text")来进行转码

  3.编译方式问题,如果qt采用的MSVC编译,代码文件是无BOM的utf-8编码格式,可以切换为GW编

译,或者在pro文件里加入以下代码:

msvc {QMAKE_CFLAGS += /utf-8QMAKE_CXXFLAGS += /utf-8
}
http://www.lryc.cn/news/240792.html

相关文章:

  • C++每日选择题—Day1
  • 【实用】mysql配置 及将线上数据导入本地 问题解决及记录
  • 如何下载OpenJDK及其源码
  • [Android]使用Retrofit进行网络请求
  • OpenGL 绘制圆形平面(Qt)
  • JAVA系列---Servlet详解
  • 机器人制作开源方案 | 钻孔植树一体化沙漠车
  • OmniGraffle
  • 【C++上层应用】4. 多线程
  • 【uni-app】uniapp中弹出输入框的示例
  • 通过bat脚本控制Oracle服务启动停止
  • GB28181学习(十七)——基于jrtplib实现tcp被动和主动发流
  • RealSense深度相机在Ubuntu18.04的ros环境下,保存同一时刻下深度图像和彩色图像
  • vue3 ref和reactive使用watch属性的方法和区别
  • YOLO目标检测——卫星遥感舰船检测数据集下载分享【含对应voc、coco和yolo三种格式标签】
  • org.Hs.eg.db使用--持续修改
  • C# Onnx 百度PaddleSeg发布的实时人像抠图PP-MattingV2
  • linux shell操作 - 04 进程间通信
  • 【Java并发】聊聊线程池原理以及实际应用
  • 自然语言处理常用方法和评价指标
  • FFmpeg常用命令行讲解及实战一
  • Java的ArrayList中关于删除的常用操作及方法
  • 低成本打造便携式无线网络攻防学习环境
  • Qt|QLabel显示刷新图像数据
  • Java类加载那些事
  • QSplitter分裂器
  • pgsql 时区查看和修改
  • el-table 表格表头、单元格、滚动条样式修改
  • dockerDesktop使用方法
  • [Ubuntu]RT810xE--网线已拔出--问题解决