window和ubuntu上的QT中文显示正常,交叉编译arm板上debian系统中文显示不正常【已解决】

QT在写的界面,在window和ubuntu虚拟机上中文显示正常,但是在arm板上显示不正常。在虚拟机中的代码是这样的。

#include <QTextCodec>
.
.
.
QApplication a(argc, argv); 
QTextCodec *codec = QTextCodec::codecForName("System");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

上述代码在arm中显示不正常,有的显示乱码,有的索性不显示。后台经过修改arm板子上已经正常,代码如下:

 

#include <QTextCodec>
.
.
.
QApplication a(argc, argv);
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
QFont f("unifont",16);
a.setFont(f);

经过上面的修改arm板上也正常了。

注意:


第一段代码中System表示编码格式更随系统,但我不知道怎么在arm板上就不能找到系统默认编码,难道系统没有默认的编码?以后在了解。这里改成utf-8,自己设置。


QFont f("unifont",16),这句是手动设置中文字体,和字号,unifont为QT自带的一个字库,支持中英文。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月桃花浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值