罪魁祸首 ===> msvc编译器
如果没有特殊需求,强烈建议使用MinGW编译器,因为这些问题她都不会出现!!!
在Qt中使用字符串QString时经常会碰到莫名其妙的报错,比如:
this->setWindowTitle("简易串口助手");
//error: C2001: 常量中有换行符
对于这种情况,通常只要在字符串的末尾加一个空格,使中文和引号隔开即可:
this->setWindowTitle("简易串口助手 ");
但有时,即便是这样可以编译通过但还是会显示乱码:
此时只需要在工程的pro文件中加入下列代码即可解决中文字符串乱码问题:
##pro文件中,解决中文乱码
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
this->setWindowTitle(QString("简易串口助手 "));
//或者
this->setWindowTitle(("简易串口助手 "));
结果如下,成功解决了中文显示的乱码: