QT4.85与qvfb与arm 中文字体显示解决方案

来源:互联网 发布:潍柴车用发动机的数据 编辑:程序博客网 时间:2024/06/08 14:39

自己做demo的时候,遇到的问题,现在把具体解决方法记录分享下来:

宿主机:Ubuntu 12.04 中文版(即安装的时候选择的是中文)

开发平台:QT4.85

交叉编译:QTE4.85

其中:QT4.85,  qvfb, 均无字体fonts文件夹

QTE4.85存在fonts文件夹

准备工作:下载一个文泉驿字体,好多地方都要积分,提供一个免费下载连接:文泉驿字体

1.问题背景

编辑UI界面时候,英文正常,控件中文:不显示,标题栏英文乱码。

示例与运行:

int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    w.setWindowTitle("你好");    return a.exec();}


2.桌面QT中文显示解决方案

【1】修改编码方式:

       修改成UTF-8,也有说修改成GB格式的,我没有尝试,只是修改了UTF-8添加以下代码,此时标题栏问题解决了,但是控件依旧不显示中文,

    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));


【2】修改系统字体:

  a.打开QT安装目录下的qtconfig文件


   b.选择Fonts菜单栏,再选择字体,这里有两种中文字体可共享选择, Fangsong Ti, Song Ti。


  c.选择完成之后,叉掉窗口,会提示保存。


    d.再次运行界面如下。


3.qvfb中文显示解决方案

    把我们下载的文泉驿字体拷贝到qvfb的lib目录下,并新建一个fonts文件夹,重新运行程序,界面正常



4.arm中文显示解决方案

 其实讲解到这里,中文显示方法已经解决了,qvfb是ARM的界面仿真程序,在这里,我们打开QTE4.85交叉编译库的fonts文件夹。


把文件夹内的字体全部删除,再把把文泉驿字体拷贝进去,再按照相同的路径移植到arm开发板就可以正常显示了。

在开发板中加入环境变量:

export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib/fonts/

亲测开发板正常显示。

原创粉丝点击