嵌入式Linux下的图形化窗口QT的移植与研究

上传人:飞*** 文档编号:35555489 上传时间:2018-03-17 格式:DOC 页数:7 大小:94.50KB
返回 下载 相关 举报
嵌入式Linux下的图形化窗口QT的移植与研究_第1页
第1页 / 共7页
嵌入式Linux下的图形化窗口QT的移植与研究_第2页
第2页 / 共7页
嵌入式Linux下的图形化窗口QT的移植与研究_第3页
第3页 / 共7页
嵌入式Linux下的图形化窗口QT的移植与研究_第4页
第4页 / 共7页
嵌入式Linux下的图形化窗口QT的移植与研究_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《嵌入式Linux下的图形化窗口QT的移植与研究》由会员分享,可在线阅读,更多相关《嵌入式Linux下的图形化窗口QT的移植与研究(7页珍藏版)》请在金锄头文库上搜索。

1、嵌嵌入入式式LinuxLinux课课程程设设计计课题:嵌入式Linux下的图形化窗口QT的移植与研究姓名: 林晓东 专业班级: 通信工程2班 学号: 070103021119指导老师: 刘小洋 时间: 2010/11/25概述随着嵌入式系统的广泛应用,PDA、机顶盒、DVD/VCD播放机及WAP手机等嵌入式 设备已经迅速普及,这些设备同时应该拥有华丽美观、易于操作的图形用户界 面。因此,在嵌入式系统中,特别是在一些消费类产品中,也逐渐出现了图形 用户界面(GUI)。Qt是Trolltech公司的标志性产品,它是一个跨平台的C+图形用户界面(GUI) 工具包。Qt的最大特点就是支持多平台处理,因

2、为Qt对不同平台的专门API进行 了封装。Qt/Embedded是在嵌入式环境下所使用的Qt,具有Qt在桌面系统的所有功能,是 Trolltech公司为嵌入式设备上的图形用户界面和应用开发而定制的工具开发包 。二、系统总体设计系统环境:PC上虚拟机下的Redhat 9系统搭建宿主机环境-编写“Hello Qt!”程序-运行“Hello Qt!”程序。三、原理概述Application Source CodeQT APIQT/X11FramebufferLinux KernelXlibX Window ServerQT/Embeded实验中所用安装tar包及各包的作用 tmake-1.13.ta

3、r.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使用了共享内存存储区域(虚拟的帧缓存)来模拟帧缓存并且 在

4、一个窗口中模拟一个应用程序来显示帧缓存,显示的区域被周期性的改变和 更新。四、系统实现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 /qt 2、宿主机上Qt虚拟环境的建立 解压源文件设置环境变量 #cd /qt #vi set-env set-env内容如下 export QTDIR=$PWD/qt-2.3.2 export QTEDIR=$PWD/qt-2.3.1

5、0 export QPEDIR=$PWD/qtopia-free-2.1.1 export TMAKEDIR=$PWD/tmake-1.13 export PATH=$QPEDIR/bin:$QTEDIR/bin:$QTDIR/bin:$PATH export PATH=$QTEDIR/tmake/bin:$PATH export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g+ export LD_LIBRARY_PATH=$QPEDIR/lib:$QTEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH 保存set-env后,运行

6、set-env设置环境变量 #source set-env 或者#. set-env编译编译qt-2.3.2qt-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.10qt-2.3.10#export QTDIR=$QTEDIR #cd $QTEDIR #cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/ #ec

7、ho yes |./configure -qconfig qpe -system-jpeg gif -qvfb - thread -depths 4,8,16,32 #make sub-src编译编译qtopiaqtopia #cd $QPEDIR/src #./configure #make 按照上面的步骤做完,宿主机上的Qt虚拟环境就搭建起来了. 在Shell里面执行如下: #qvfb 出现如图:建立建立hellohello文件文件 在目录下新建一个目录hello #mkdir hello 在hello下新建hello.cpp #vi hello.cpp hello.cpp内容如下:用pr

8、ogen工具生成工程文件 hello.pro #progen t app.t o hello.pro 使用tmake工具生成hello工程的Makefile文件 #tmake o Makefile hello.pro 修改Makefile文件,在LIBS变量中增加需要用到的库,然后输入make命令编译 。LIBS=$(SUBLIBS) L$(QTDIR)/lib lqte lm lstdc+ 如下图:#make 启动虚拟控制台,运行hello程序(主机须启动帧缓存,必须能够访问/dev/fb0 )。 #./hello qws效果如下图:五、结果与分析本次实验在Redhad 9系统下搭建Qt环境

9、,以及实现一个简单的Hello Qt程序。实验结果与预期的结果一致,本次实验任务完成。 qvfb是为qtopia做的一个虚拟frambuffer的应用程序,在运行hello程序之前主 机需启动帧缓存,保证能够访问/dev/fb0,这是本次实验的关键点。 同时,在搭建Qt开发平台时,主机上面环境变量的设置也是关键点,正确的环 境变量设置是保证实验顺利进行的关键。本次实验关键的环境变量有$QTDIR,$Q TEDIR,$QPEDIR及$TMAKEDIR。 从可以发现QT/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。而Qt/x11,需要一个X服务器或是

10、Xl ib库, 六、结论Qt是一个跨平台的C+图形用户界面(GUI)工具包。Qt的最大特点就是支持多 平台处理,因为Qt对不同平台的专门API进行了封装。QtE拥有下面一些特征:拥有同Qt一样的API;开发者只需要了解Qt的API,不用关心程序所用到的系统 与平台 它的结构很好地优化了内存和资源地利用。 拥有自己的窗口系统:QtE不需要一些子图形系统。它可以直接对底层的图形驱 动进行操作。 模块化:开发者可以根据需要自己定制所需要的模块。 代码公开以及拥有十分详细的技术文档帮助开发者。强大的开发工具。 与硬件平台无关:QtE可以应用在所有主流平台和cpu上。支持所有主流的嵌入 式Linux,对于在Linux上的QtE的基本要求只不过是Frame Buffer设备和一个C+编译器(如gcc)。Qte同时也支持很多实时的嵌入式系统 ,如QNX和WindowsCE。 提供压缩字体格式:即使在很小的内存中,也可以提供一流的字体支持。 支持多种的硬件和软件的输入。 支持Unicode,可以轻松地使程序支持多种语言。 支持反锯齿文本和Alpha混合的图片。七、参考资料嵌入式Linux程序设计案例与实验教程 机械工业出版社Linux鸟哥的私房菜 人民邮电出版社论坛以及博客

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号