登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:[Linux技术] QT交叉编译如何显示中文字体

点击:652 回复:0

   很多QT编程爱好者或许都经历过这个烦恼,使用基于虚拟机linux(ubuntu等系统)平台进行QT编程的时候,系统编程显示中文完全没问题,但是当需要移植到基于ARM平台的开发板或者linux工业平板电脑的时候,使用交叉编译器编译之后的二进制文件下载到下位机,中文不显示,或者乱码。现在我用自己的Linux工业平板电脑开发做一个简单的显示中文的QT交叉编程案例。 Sam系列工业平板电脑(Sam-Linux070H)的Linux 内核版本是2.6.32;文件系统集成了QT4.7.3,方便用户开发带有界面的应用程序,交叉编译工具是:arm-2009q3.tar.bz2。
   注意:QT4.7.3 可以通过QT Creator 平台直接编程,编译,非常方便。
   另外先确定虚拟机ubuntu系统已经安装了交叉编译环境,可以在终端用命令:arm-linux-gcc -v  如果显示如下图所示,表明交叉编译器已经安装成功。如果要学习linux的QT编程的可以直接到网盘下载虚拟机,各种开发编译环境都已经安装好,下载地址:http://share.weiyun.com/fb7b888596b22887216ea01f3527280c
附件 交叉编译.jpg
打开QT Creator,随便建立一个QT Ui工程,在 widget.ui中随便放入几个label标签,一个显示英文的,1个显示中文的,再加一个Push button,输入“刘德华”中文。
附件 图片1.jpg
然后再在main.cpp的主程序主函数里面加入设置添加字体库的函数代码如下:
附件 图片2.jpg
OK,然后进行编译器选择,我们选择交叉编译器(基于下位机linux的ARM工业平板电脑),打开Tools->Options…
附件 图片3.jpg
编译完成之后,生成了一个可执行文件hanyu,把这个可执行文件通过ftp指令放到下位机linux工业平板电脑里面去。下位机默认IP 地址为192.168.1.253,用网线连接下位机,通过PC 机ping 此板,看是否能ping 通,如果可以继续下一步,输入终端命令:ftp 192.168.1.253,出现成功如下
附件 图片4.jpg
Name直接输入root即可登录了。登录之后输入:put hanyu把文件拷贝进去,再ls查看可以看到已经拷进去了。
附件 图片5.jpg
退出ftp(用quit),然后用telnet 192.168.1.253远程登录ARM工业平板电脑系统,登录用户名同样是root,然后可以用终端命令操作了,cd home/ftp 可以看到 hanyu可执行文件了,这边还要更改文件权限,chmod 777 hanyu ,OK,然后 输入执行命令 ./hanyu -qws 截图如下:
附件 图片6.jpg
ARM的linux工业平板电脑就显示了QT的编程界面如下:
附件 图片7.jpg
附件 图片8.jpg
附件 图片10.jpg
QT编程源代码下载:
附件:
[本地下载]
13-12-04 15:39

工控新闻

更多新闻资讯