Live & Learn
分类: LINUX
2010-08-30 08:44:51
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运行后,会出现如下界面:
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运行后将出现如下界面:
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文件中定义的字库文件相对应。
chinaunix网友2010-08-31 10:36:21
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com