Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1261796
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2011-03-15 00:07:39

之前使用师兄移植好的QT环境进行QT程序开发,对移植的难度没有充分的认识。今天有些空闲时间,就在网上查了一些资料,对nokia新出的QT4.6.2进行了移植。在这里感谢arm9之家的各位老大,在国内做移植最好的团队果然还是友善之臂:)。自勉如下:学无止境,所以仍需继续努力!
下面进入正题,移植方面大家可参考arm9之家ppacctv兄的"Fedora12下搭建Qt Creator的ARM开发环境并移植Qt4.6.2到Micro2440"文章,上面过程应该算是非常详细,我侧重移植后的中文显示配置做一些补充:

一、在qvfb上运行时,中文完全没有显示,但是同一字符串中英文字符可以显示出来。例如“哈哈ha”只显示“ha”。应该是字体库移植问题,可以在网络上下载开源的文泉驿字体库,个人认为该字库在美观方面做的非常好。将wqy-zenhei.ttc复制到安装好的Trolltech/QtEmbedded-4.6.2/lib/fonts中,运行qt程序时加上-fn wqy-zenhei选项就可以了。

二、在默认的情况下,qvfb会调用字符库中的"DejaVu Sans" 系列字体(可以通过QFont对象看到默认字体,如:  QFont font;    qDebug()<

三、可通过设置环境变量:export QT_QWS_FONTDIR=$path-to-your-fontdir指向你自己的字体目录。当默认的Trolltech/QtEmbedded-4.6.2/lib/fonts中没有可用字体时,会查找该目录。

四、QT默认的编码(unicode)在显示中文的过程中会出现乱码(注意区别于第一条的完全没有显示),主要是由于源代码文件的中文字符编码是utf8或者gbk等(与编辑器设置有关)。QT中的QTextCodec类专门用于处理编码问题。以文件编码为utf8为例,代码中增加:
    #include
    main()
    {
    QApplication app(argc,argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
    QLabel hello(QObject::tr("你好") );
    }
也可以用codecForLocale函数来返回现在系统的默认编码,这样更容易做多编码的程序而不用自己手动来更改具体的编码。
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yichi7758/archive/2010/03/23/5409058.aspx
阅读(1504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~