您的位置:首页 > 编程语言 > Qt开发

QT/QTOPIA屏幕和字体旋转的实现

2009-06-13 10:42 477 查看
QT/QTOPIA屏幕和字体旋转的实现 2009-04-11 22:29
分类:工作技术
字号: 大大 中中 小小

版权所有,若有转载,请注明出处。

关键词:QT/QTOPIA 屏幕旋转

BCNG 项 目 组

技 术 文 档

版 本:1.0

作 者:xxx

日 期:2007-05-11

QTOPIA中的屏幕旋转实现的关键是旋转字体的实现。

一、 旋转屏幕

1、 操作步骤

由于我们使用的屏幕是横屏(320*240),现在需要将qt的界面旋转一下,将其显示成直屏(240×320)方式。旋转屏幕可使用qt自带的rotation程序完成,具体步骤如下:

(1) 编译qtopia/src/settings/rotation目录下的rotation程序,详细编译过程在本文档后面介绍

(2) 将编译好的rotation拷贝到/home/nfs/qtopia/bin目录下

(3) 创建一个启动rotation的脚本文件rotation.bat,文件详细内容在本文档后面

(4) 启动目标板

(5) 等Linux启动后,运行qtopia/bin/rotation.bat

(6) 在LCD显示的旋转屏幕界面中,选择要旋转的角度,然后点“ok” 退出。

2、 关键步骤说明

(1)编译rotation

编译rotation程序很简单,进入qtopia/src/settings/rotation目录后,新建一个makerotation文件用于编译rotation程序,该文件的内容如下:

#############################################################

# The IP of Winhost Loopback Adpter should be set 192.168.1.1

export PATH=/usr/local/arm/2.95.3/bin:$PATH

export TOPDIR=/home/xiyong/pda/native_view

export QTDIR=$TOPDIR/qte

export QPEDIR=$TOPDIR/qtopia

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib:$QPEDIR/lib

export PATH=/root/tmake-1.11/bin:/root:/usr/sbin:/sbin:$PATH

export TMAKEPATH=$HOME/tmake-1.11/lib/qws/linux-ipaq-g++

#############################################################

tmake rotation.pro -o Makefile

make

运行makerotation文件即可编译rotation程序(Makerotation的权限必须是可执行的)。

(2)运行rotation程序

在/home/nfs/qtopia/bin目录下新建一个rotation.bat文件用于运行rotation程序,rotation.bat的详细内容如下:

#!/bin/sh

export LANG=zh_CN

export TZ=Asia/Beijing

export QTDIR=/qtopia

export QPEDIR=/qtopia

export KDEDIR=/qtopia

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QPEDIR/lib

export PATH=$PATH:$QPEDIR/bin:$QPEDIR/lib

export IPKG_CONF_DIR=$QPEDIR/etc

./rotation -qws &

Linux启动后,运行qtopia/bin/rotation.bat文件即可运行rotation程序。

(3)qpe.conf

使用rotation旋转完屏幕后,rotation将在qpe.conf保存设置。Qpe.conf位于nfs文件系统的home/Settings目录下。如果屏幕旋转270度,文件的[rotation]的screen将被设置成如下形式:

Screen = Transformed:Rot270:0

二、 旋转字体

屏幕旋转完成后

1、将下载的simsun.ttf字库文件拷贝到qte/lib/fonts目录下

2、编辑qte/lib/fonts/fontdir文件为如下内容:

simsun simsun.ttf FT n 50 120 u

simsun simsun.ttf FT n 75 120 u

注:

Simsun:字体名字

Simsun.ttf: 字体文件名

FT: FreeType

n: 正常字体(i表示斜体)

50:不是粗体;75:粗体

120:12号字体

u:使用unicode

3、进入qte/tools/qvfb/bin,输入如下指令运行qvfb

export LANG=zh_CN

export TZ=Asia/Beijing

export QTDIR=/Qtopia

export QPEDIR=/Qtopia

export KDEDIR=/Qtopia

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QPEDIR/lib

export PATH=$PATH:$QPEDIR/bin:$QPEDIR/lib

export IPKG_CONF_DIR=$QPEDIR/etc

./qvfb &

Qvfb运行后,会出现如下界面:

QT/QTOPIA屏幕和字体旋转的实现 - xiyong8260 - xiyong

4、进入qte/tool/hpc_font目录,运行如下指令启动字体翻转工具程序makeqpf:

#!/bin/sh

export LANG=zh_CN

export TZ=Asia/Beijing

export QTDIR=/home/xiyong/pda/native_view1/qte

export QPEDIR=/home/xiyong/pda/native_view1/qtopia

export KDEDIR=/qtopia

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QPEDIR/lib

export PATH=$PATH:$QPEDIR/bin:$QPEDIR/lib

export IPKG_CONF_DIR=$QPEDIR/etc

./makeqpf -display Transformed:Rot270

以上指令用于制作翻转270度的字库文件,制作其它的字库文件只需将270改为90,180,0等。Makeqpf运行后将出现如下界面:

QT/QTOPIA屏幕和字体旋转的实现 - xiyong8260 - xiyong

Makeqpf运行后,用鼠标点击列表中的字体文件,完成字库的翻转。字库转换完成后,qte/lib/fonts目录下将出现翻转的qpf字库文件。

5、将字库文件拷贝到nfs文件系统的qtopia/lib/fonts目录下,编辑fontdir文件为如下内容:

simsun simsun_120_50_t5.qpf QPF n 50 120 u

simsun simsun_120_50.qpf QPF n 50 120 u

simsun simsun_120_50_t10.qpf QPF n 50 120 u

simsun simsun_120_50_t15.qpf QPF n 50 120 u

注:qtopia/lib/fonts下的字库文件要与fontdir文件中定义的字库文件相对应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: