一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

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

posted on 2022-12-02 08:46  一杯清酒邀明月  阅读(907)  评论(0编辑  收藏  举报