QT中文乱码解决方法
程序员文章站
2024-01-04 14:45:34
...
本人以前QT用的编译器是MinGW因此从来没有出现过中文乱码问题
现在公司要求QT+VS编程,因此需要使用MSVC编译器,MSVC编译器不识别中文,因此我把代码移过来的时候出现了编译错误。
lay->addWidget(_buttons[0] = new QPushButton(QStringLiteral("人机对战")));
lay->addWidget(_buttons[1] = new QPushButton(QStringLiteral("人人对战")));
lay->addWidget(_buttons[2] = new QPushButton(QStringLiteral("网络对战(服务端)")));
lay->addWidget(_buttons[3] = new QPushButton(QStringLiteral("网络对战(客户端)")));
将中文字符用QStringLiteral包裹住就完事了,特别的要注意QStringLiteral仅能处理常量。
对于字符串变量用QString::fromLocal8Bit包裹住字符就完事了嗷。
本人QT版本5.4.2,该方法适用QT5及以上版本(大概)。
顺便吐槽一下这种方式真的很繁琐。