解决Windows下Arm下Linux下Qt4程序的中文乱码问题

###############################################################################

#操作系统:Win7垃圾版

#QT: 4.8.1

#操作系统:Winxp垃圾版

#QT: 4.8.1

#开发板:友善之臂Tiny6410 V1.2                                                
#QT: 4.6.1
#QTE-arm: 4.7.0

#Write By Kinglate 20130806

###############################################################################

也许这个世界上没有人会像我一样遇到一个问题了,解决了,很开心,同时也很伤心!跨平台编程相当苦逼,平台是夸了,但是问题的解决方案并非夸平台!相当头疼。其他的不想多说,挑个最典型的(解决中午乱码问题)跟大家分享一下,好让大家今后能少走弯路!

一、解决Windows下Qt4程序的中文乱码问题

1.方法一(该方法对于我的win7机器行不通,但是我的xp机器却没有问题,神奇吧?所以对于您的机器可能行不行。)

在main.cpp中找到int main(intargc,char*argv[])这个入口函数,在其里面加入以下四行代码:

2.在main.cpp中加入#include<QTextCodec>编码头文件,然后在int main(intargc,char*argv[])这个入口函数,在其里面加入以下一行代码:

QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));

3.(至于加到什么位置,在{}内,只要不加在returna.exec();这行代码的后面就可以了!)完成后如下图所示:

4.需要使用中文的地方,还是举个例子讲解一下:

QMessageBox::information(this, tr("连接完成"), tr("本地Ip为:")+localIpStr+tr("端口号为:")+localport,QMessageBox::Ok);

测试结果:

5.方法二(相当好用一步到位)

在main.cpp中找到int main(intargc,char*argv[])这个入口函数,在其里面加入以下四行代码:

QTextCodec*codec=QTextCodec::codecForLocale();//设置文本为GB2312编码

QTextCodec::setCodecForTr(codec);//设置使用tr内的编码

QTextCodec::setCodecForLocale(codec);//设置本地编码

QTextCodec::setCodecForCStrings(codec);//设置字符串编码

(至于加到什么位置,在{}内,只要不加在returna.exec();这行代码的后面就可以了!)

完成后如下图所示:

需要使用中文的地方,还是举个例子讲解一下:

QMessageBox::information(this, tr("连接完成"), tr("本地Ip为:")+localIpStr+tr("端口号为:")+localport,QMessageBox::Ok);

测试结果:

二、解决Arm下Qt4程序的中文乱码问题

方法一:本人以前常用的

1.在.cpp(非main.cpp)中加入#include<QTextCodec>   //Qt的字符编码头文件

2.在每个需要用到中文的地方所在的函数体内设置中文字体编码,放在该函数体的第一句即可:

QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));//设置中文字体编码

需要输入中文时要用tr("我是中文!")

3.还是举个例子讲解一下:

QMessageBox::warning(this, tr("Waring"),tr("输入用户ID或者密码错误,请重新输入!"),QMessageBox::Yes);

测试结果:

方法二:(不一定行)

4.这个方法相当简单,在.cpp(非main.cpp)处,哪儿需要用到中文时trUtf8()函数即可,如:trUtf8(“我是中文!”)头文件都不需要加!

5.还是举个例子讲解一下:

QMessageBox::information(this, trUtf8("打开成功"), trUtf8("已经成功打开串口:")+ui->portName_b->currentText(), QMessageBox::Ok);

测试结果:

三、解决Linux下Qt4程序的中文乱码问题

Linux下Qt4程序用得少,懒得搞,估计跟Windows下差不多,自己百度去吧!

转载于:https://blog.51cto.com/jliangli/1265659

解决Windows下Arm下Linux下Qt4程序的中文乱码问题相关推荐

  1. 解决windows 10英文版操作系统中VS2017控制台程序打印中文乱码问题

    当您在windows 10英文版的操作系统中运行Vs2017控制台应用程序时,程序可能无法正常显示中文,中文都变成了乱码.这是由于大部分中文程序所使用的文字编码与Windows 英文系统的文字编码不同 ...

  2. 将vs+Qt的工程从windows平台移植到linux下_

    ​​​​​​​​​​​​将vs+Qt的工程从windows平台移植到linux下_崔杰城的博客-CSDN博客_windows下的qt工程移植到linux下 windows下Qt的开发人员常用vs+Qt ...

  3. 将vs+Qt的工程从windows平台移植到linux下

    windows下Qt的开发人员常用vs+Qt插件进行Qt桌面程序的开发.因为Qt是跨平台的,所以开发完成后如果需要把程序移植到linux下运行,只要把vs的项目工程放到linux下,编译即可.下面介绍 ...

  4. 解决tplink wn726 无线网卡在linux下不能使用的问题

    解决tplink wn726 无线网卡在linux下不能使用的问题 网上找了一堆教程,都不能使 tp-link wn726 无线网卡在Linux下启动,终极解决方案如下 首先确定你linux内核 un ...

  5. Git下载代码到Windows再拷贝到Linux下编译时要关闭换行符自动转换

    Git下载代码到Windows再拷贝到Linux下编译时要关闭换行符自动转换 一.各操作系统下文件换行符 二.TortoiseGit下载Github代码关闭文件换行符 三.示例说明 1.开启换行符自动 ...

  6. linux环境下添加定时任务,linux下添加定时任务。

    这周要做一个定时增量更新Elasticsearch索引的功能,以前没有做过定时更新,所以请教了下同事,使用crontab添加linux下的定时任务. 一.linux下定时执行任务的方法 在linux中 ...

  7. 通过cmd命令,使Scite在windows下构建,并安装lua环境与中文乱码问题

    通过cmd命令,使Scite在windows下构建,并安装lua环境与中文乱码问题 Scite工具下载与安装 https://scite.en.softonic.com/download 1.下载完后 ...

  8. linux下的oracle中文乱码,linux系统中oracle出现中文乱码怎么办

    linux系统中oracle出现中文乱码怎么办 发布时间:2020-06-10 10:04:55 来源:亿速云 阅读:148 作者:Leah linux系统中oracle出现中文乱码怎么办?这篇文章总 ...

  9. .net core 微服务下的手工签名实现,以及消除中文乱码

    最近在实现一款业主签字的需求,签字前端由vue下的某个共享组件实现,其采用Canvas绘图方式实现签名图片的生成,后台主要提供签名前文档的呈现,以及签名后文件合成过的签名文档保存. FastRepor ...

最新文章

  1. 文本分类中的一些小问题
  2. K2新网站(官网和BPM社区)正式上线了
  3. 安装Magento的系统需求
  4. __try,__except,__finally,__leave
  5. (14)Spring框架----Spring 注解机制和XML配置机制之间的比较
  6. mac安装telnet命令
  7. 如何基于FastReport报表工具,生成报表PDF文档展示医院处方笺的内容
  8. 那智机器人工具坐标设置方法
  9. C语言 之 if 语句
  10. 自定义android时间表盘选择器
  11. INK1003注意事项
  12. android测试内存的软件下载,AndroBench p10内存门app下载
  13. Appinventor使用
  14. 手机的模拟,有耗电和充电方法, 有电量的属性
  15. 前端常见面试题及答案
  16. 第4章 深度估计与分割(SGBM、GrabCut、分水岭) 个人笔记
  17. python中average什么意思_在Python3 numpy中mean和average的区别详解
  18. WLAN框架应用笔记
  19. Repo入门:边玩边学
  20. b站pink老师JavaScript的PC端网页特效 案例代码——筋斗云案例

热门文章

  1. 剑指Offer:反转链表【24】
  2. MySQL slave_exec_mode 参数说明
  3. H3C AP实现定时重启
  4. BIEE建模参考规范
  5. Linux 桌面的安装
  6. 实践1-qq邮箱主页
  7. JS中全局对象的属性和方法
  8. 【代码笔记】iOS-浮动的云
  9. 【转】Linux面试题集锦
  10. 用泛型来实现编译时期的类型推断