1. Qt窗体中无法显示中文
在VS中创建qt项目后,在窗体上或者提示信息上,是不支持显示中文的,可以在cpp文件前写一段代码
1 #ifdef WIN32 2 #pragma execution_character_set("utf-8") 3 #endif
这样就可以显示中文啦
2. opencv 的 imread与imwrite 无法使用中文路径
在qt中可以显示中文后,在使用opencv的imread与imwrite中无法使用中文路径,会乱码。
原因:
使用上述代码在qt中显示中文后,八成是把所有的中文编码格式换成了utf-8。在windows和vs下,中文编码格式都是gbk(不太懂),而qt是Unicode(也不太懂),opencv的函数无法识别utf-8的中文编码!
解决办法:
可以把路径,先设置成QString,然后进行转码成String。因为String无法进行转码成String
1、添加头文件(转码)
#include <QTextCodec>//转码
2、关键代码
1 string strPath=""; 2 strPath=saveImagePath.toLocal8Bit().toStdString();//QString转Local8Bit再转String标签:中文,Qt5,函数,转码,imread,imwrite,qt,String From: https://www.cnblogs.com/ybqjymy/p/16943355.html