用Qt静态库编译的Qt5应用程序无法显示中文。在编译静态库以前,在默认的creater环境下,编译的Qt5程序是可以正常显示中文的。编译Qt5静态库以后,用静态库编译的应用程序只能显示英文不能显示中文。请问各位大神大牛们如何解决?跪求答案啊。。。。。。。。。。。。。。。。。。。。。。!!!!!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------
不清楚Qt5,但是Qt4下,如果静态编译的需要支持中文,需要修改两个地方:
1)在.pro里面增加QTPLUGIN += qcncodecs
2)在main函数所在的文件里面增加#include <QtPlugin>和Q_IMPORT_PLUGIN(qcncodecs)
这样就支持中文了,
当然和动态编译的一样,你需要生成qm文件并且在main汗是里面安装翻译文件
------解决方案--------------------
这种问题,不妨写个短短几行的测试程序,看看具体原因是什么。比如下面的例子可以测试是否是编码问题
#include <QtWidgets>
int main(int argc, char**argv)
{
QApplication(argc, argv);
QLabel label("\xE4\xB8\x80");
label.show();
return app.exec();
}
题外:
只要概念清楚,中文问题在Qt中是非常简单的一个问题。但是网络中90%以上的Qt中文编码相关文章都是错误的或不准确的。