本猿使用Qt5.8的QLabel遇到及其异常怪的事情,对中文支持有问题。
QLabel *label1=new QLabel("时间");
编译可以通过,也可以显示。
QLabel *label1=new QLabel("开工时间");
编译就不能通过了。不就多了几个字吗,至于嘛?
其实这就是Qt对中文支持还存在问题,忍忍吧,看怎么解决。
结果网上一查都是一些不靠谱的解决,什么utf8如何转为gbk等等。
真正的原因是Qt5.8虽然工程文本编码设置为utf-8,但是对中文的支持有问题。
必须增加下面一句,保证编码确实为utf-8。
#pragma execution_character_set("utf-8")
同时检查工程设置中文本编辑器,使得UTF-8编码带有BOM。
重新编译,一切搞定。不能不说,Qt你啥时能比较给力的支持中文腻?