移植到ARM的qt4.6.3显示中文的问题

移植了QT4.6.3的ARM无法正常的现实中文

如果是在X86平台上时候,使用QTextCodec::setCodecForTr(QTextCodec::codecForLocale());来设置显示中文

但是在ARM平台上却不行,我们需要移植一些中文字体库,这里使用的是QT自带的中文字体库,wenquanyi_120_50.qpf

放在QT的安装目录下 /usr/local/Trolltech/lib/fonts下面

在/etc/profile中导出路径

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

 

然后修改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);

 

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

 

 

wenquanyi字体的说明

wqx wenquanyi_120_50.qpf QPF n 50 120
wqx wenquanyi_120_75.qpf QPF n 75 120
wqx wenquanyi_130_50.qpf QPF n 50 130
wqx wenquanyi_130_75.qpf QPF n 75 130
wqx wenquanyi_150_50.qpf QPF n 50 150
wqx wenquanyi_150_75.qpf QPF n 75 150
wqx wenquanyi_160_50.qpf QPF n 50 160
wqx wenquanyi_160_75.qpf QPF n 75 160
 
在这里第一列为name,第二列为file,第3列为renderer,字型格式,如BDF,TTF,QPF等,第4列n表示iitalic,表示是否为斜体字,第5列为weight,字体宽度,50是Normal,而75是Bold ,第6列为size字号,120为12pt.第7列为flag可忽略不写,有3个选者,s=smooth(anti-aliased),u=unicode range when saving(default is Latin1), a=ASCII range when saving(default is Latin1).
 
这样只要按照前面i18n的方法,app->setfont("wqx");
就可以显示很好看的中文字体了,

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值