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

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   一杯清酒邀明月  阅读(952)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2020-12-02 Java GUI快速入门
2020-12-02 Java Swing 介绍
2020-12-02 Java 开发环境配置
2020-12-02 Java (windows)安装教程
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示