本人测试环境是QT5.9.3+MSVC2015
因为默认情况下,qtcreator是utf-8编码
而msvc编译器是utf-8+bom编码,这样就出现了,中文乱码,不管是qdebug()输出还是设置的qt窗体的中文均为乱码
如下图
而如果指直接用中文不通过QString s这个中间变量 有时候提示 常量中有换行符,同样是编码模式不同造成,都可以通过以下方式解决
方法就是在需要使用中文名的模块中添加
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
建议添加在构造函数中
ui->setupUi(this);
的下面或者任意引入中文之前即可,
我反正是添加在
ui->setupUi(this);
下面,
好了,再看看下图对比效果
以上均是本人亲测可用