Linux arm qt 显示中文,Qt,ARM,显示中文

系统:Fedora 9   开发板:micro2440   Qt:4.6.3   Qt库路径:/usr/local/qt463lib/lib

如果你急于在ARM开发板上看到Qt显示中文,而不介意稍次的效果,可以在运行Qt程序时,增加设置字体的参数,比如运行名为hello的Qt程序:./hello -fn unifont

1.首先,需要文泉驿字体文件,你可以从网络上下载得到这些文件,比如,wenquanyi_160_75.qpf。将全部文泉驿字体文件复制到ARM开发板上的Qt字体库中,在这个例子中,Qt字体库的路径是/usr/local/qt463lib/lib/fonts

2.你还需要增加一个ARM开发板上的环境变量,在/etc/profile文件中增加:

export QT_QWS_FONTDIR=/usr/local/qt463lib/lib/fonts

3.在main.cpp中,修改

QApplication a(argc, argv);

QTextCodec *codec = QTextCodec::codecForName("gbk");

QTextCodec::setCodecForLocale(codec);

QTextCodec::setCodecForCStrings(codec);

QTextCodec::setCodecForTr(codec);

QFont font("wenquanyi",6);

a.setFont(font);

4.需要说明的是,QTextCodec *codec = QTextCodec::codecForName("gbk")如果不可行,你可以再试试QTextCodec *codec = QTextCodec::codecForName("UTF-8")

//===================================================================================

首先要将字体库移到对应的QT的字体库的文件夹下!比如/x86/lib/fonts、/arm/lib/fonts下,我使用的是文泉驿的字体库!

第一种方法是:需要的字体库文件,一般是多个。具体移植那一个,看你使用的字库是什么了

在程序中需要这样设置:

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

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));

设置使用utf-8编码也就是unicode编码了,这样在tr和string的都是unicode的编码了,根据字库的索引就能对应相应的字符了。

然后设置字体:

//字体设置

QFont font("wenquanyi",12,QFont::Bold); //使用wenquanyi字体

this->setFont(font);

//这样就设置了字体了,中文一般使用wenquanyi字体就可以了。很好的。

这样的文件的修改如果在程序较大,头文件较多的程序中比较麻烦,

希望你的早点好用!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值