参考:
《Qt5+解决OpenCV中imread()函数和imwrite()函数路径不能包含中文问题》 - 码农教程
1. Qt窗体中无法显示中文
在VS中创建qt项目后,在窗体上或者提示信息上,是不支持显示中文的,可以在cpp文件前写一段代码
#ifdef WIN32
#pragma execution_character_set("utf-8")
#endif
这样就可以显示中文啦
2. opencv 的 imread与imwrite 无法使用中文路径
在qt中可以显示中文后,在使用opencv的imread与imwrite中无法使用中文路径,会乱码。
原因:
使用上述代码在qt中显示中文后,八成是把所有的中文编码格式换成了utf-8。在windows和vs下,中文编码格式都是gbk(不太懂),而qt是Unicode(也不太懂),opencv的函数无法识别utf-8的中文编码!
解决办法:
可以把路径,先设置成QString,然后进行转码成String。因为String无法进行转码成String