嵌入式Linux下的图形化窗口QT的移植与研究.doc_第1页
嵌入式Linux下的图形化窗口QT的移植与研究.doc_第2页
嵌入式Linux下的图形化窗口QT的移植与研究.doc_第3页
嵌入式Linux下的图形化窗口QT的移植与研究.doc_第4页
嵌入式Linux下的图形化窗口QT的移植与研究.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式Linux课程设计课题:嵌入式Linux下的图形化窗口QT的移植与研究姓名: 林晓东 专业班级: 通信工程2班 学号: 070103021119指导老师: 刘小洋 时间: 2010/11/25概述随着嵌入式系统的广泛应用,PDA、机顶盒、DVD/VCD播放机及WAP手机等嵌入式设备已经迅速普及,这些设备同时应该拥有华丽美观、易于操作的图形用户界面。因此,在嵌入式系统中,特别是在一些消费类产品中,也逐渐出现了图形用户界面(GUI)。Qt是Trolltech公司的标志性产品,它是一个跨平台的C+图形用户界面(GUI)工具包。Qt的最大特点就是支持多平台处理,因为Qt对不同平台的专门API进行了封装。Qt/Embedded是在嵌入式环境下所使用的Qt,具有Qt在桌面系统的所有功能,是Trolltech公司为嵌入式设备上的图形用户界面和应用开发而定制的工具开发包。二、系统总体设计系统环境:PC上虚拟机下的Redhat 9系统搭建宿主机环境-编写“Hello Qt!”程序-运行“Hello Qt!”程序。三、原理概述 QT/EmbededApplication Source CodeQT APIQT/X11Xlib X Window ServerFramebufferLinux Kernel 实验中所用安装tar包及各包的作用tmake-1.13.tar.gz tmake工具包,用来生成相应的Makefile文件qt-x11-2.3.2.tar.gz qvfb虚拟帧缓存器,uic用户界面编辑器qt-embedded-2.3.10-free.tar.gz 面向嵌入式的qt版本,qt库支持libqte.so qtopia-free-source-2.1.1.tar.bz2 应用程序开发包桌面环境Qt/Embedded直接写入帧缓存,在宿主机上则是通过qvfb(virtual framebuffer)来虚拟帧缓存。qvfb是X窗口用来运行和测试Qtopia应用程序的系统程序。qvfb使用了共享内存存储区域(虚拟的帧缓存)来模拟帧缓存并且在一个窗口中模拟一个应用程序来显示帧缓存,显示的区域被周期性的改变和更新。四、系统实现1、我们在根目录中建立目录/qt/将qtopia-free-source-2.1.1.tar.bz2,qt-embedded-2.3.10-free.tar.gz,qt-x11-2.3.2.tar.gz,tmake-1.13.tar.gz 放在/qt目录下。#mkdir /qt2、宿主机上Qt虚拟环境的建立解压源文件设置环境变量#cd /qt#vi set-envset-env内容如下export QTDIR=$PWD/qt-2.3.2export QTEDIR=$PWD/qt-2.3.10export QPEDIR=$PWD/qtopia-free-2.1.1export TMAKEDIR=$PWD/tmake-1.13export PATH=$QPEDIR/bin:$QTEDIR/bin:$QTDIR/bin:$PATHexport PATH=$QTEDIR/tmake/bin:$PATHexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g+export LD_LIBRARY_PATH=$QPEDIR/lib:$QTEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH保存set-env后,运行set-env设置环境变量#source set-env 或者#. set-env编译qt-2.3.2#cd $QTDIR#echo yes | ./configure -no-opengl -no-xft thread#make#make -C tools/qvfb#mv tools/qvfb/qvfb bin#cp bin/uic $QTEDIR/bin编译qt-2.3.10#export QTDIR=$QTEDIR#cd $QTEDIR#cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/#echo yes |./configure -qconfig qpe -system-jpeg gif -qvfb -thread -depths 4,8,16,32#make sub-src编译qtopia#cd $QPEDIR/src#./configure#make按照上面的步骤做完,宿主机上的Qt虚拟环境就搭建起来了.在Shell里面执行如下:#qvfb出现如图:建立hello文件在目录下新建一个目录hello#mkdir hello在hello下新建hello.cpp#vi hello.cpphello.cpp内容如下:用progen工具生成工程文件 #progen t app.t o 使用tmake工具生成hello工程的Makefile文件#tmake o Makefile 修改Makefile文件,在LIBS变量中增加需要用到的库,然后输入make命令编译。LIBS=$(SUBLIBS) L$(QTDIR)/lib lqte lm lstdc+如下图:#make启动虚拟控制台,运行hello程序(主机须启动帧缓存,必须能够访问/dev/fb0)。#./hello qws效果如下图:五、结果与分析本次实验在Redhad 9系统下搭建Qt环境,以及实现一个简单的Hello Qt程序。实验结果与预期的结果一致,本次实验任务完成。qvfb是为qtopia做的一个虚拟frambuffer的应用程序,在运行hello程序之前主机需启动帧缓存,保证能够访问/dev/fb0,这是本次实验的关键点。同时,在搭建Qt开发平台时,主机上面环境变量的设置也是关键点,正确的环境变量设置是保证实验顺利进行的关键。本次实验关键的环境变量有$QTDIR,$QTEDIR,$QPEDIR及$TMAKEDIR。从可以发现QT/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。而Qt/x11,需要一个X服务器或是Xlib库,六、结论Qt是一个跨平台的C+图形用户界面(GUI)工具包。Qt的最大特点就是支持多平台处理,因为Qt对不同平台的专门API进行了封装。QtE拥有下面一些特征:拥有同Qt一样的API;开发者只需要了解Qt的API,不用关心程序所用到的系统与平台它的结构很好地优化了内存和资源地利用。拥有自己的窗口系统:QtE不需要一些子图形系统。它可以直接对底层的图形驱动进行操作。模块化:开发者可以根据需要自己定制所需要的模块。代码公开以及拥有十分详细的技术文档帮助开发者。强大的开发工具。与硬件平台无关:QtE可以应用在所有主流平台和cpu上。支持所有主流的嵌入式Linux,对于在Linux上的QtE的基本要求只不过是Frame Buffer设备和一个C+编译器(如gcc)。Qte同时也支持很多实时的嵌入式系统,如QNX和Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论