基于S3C2440的QT移植与编程实现(3)
QWS_KEYBOARD=
#tar xvfz qt-x11-free-3.3.4.tar.gz #mv qt-x11-free-3.3.4 qtx #cd qtx
#export QTDIR=$PWD //设置环境变量,在编译的时候要用到 #export PATH=$QTDIR/bin:$PATH #export LD_LIBRARY_PATH =$QTDIR/lib
#./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch –qvfb -depths 4,8,16,32 //配置,可以通过./configure -help来获得帮助信息 #make //编译 #make install
2.2.6 Qt/Embedded安装
编译并安装Qt/Embedded主要是为了生成基于ARM内核的Qt/E库文件,将这些库文件移植到ARM平台中就可以运行通过QT开发出来的GUI程序了,下面列出其安装步骤: #cd /usr/local
#tar xvzf qt-embedded-free-3.3.5.tar.gz #mv qt-embedded-free-3.3.5 qte #cd qte
#export QTDIR=$PWD //设置环境变量 #export PATH=$QTDIR/bin:$PATH
#export LD_LIBRARY_PATH =$QTDIR/lib:$LD_LIBRARY_PATH 接着拷贝jpeg库头文件到Qt/E的include中,因为在编译的时候要用到。 #cp /usr/include/jpeglib.h $QTDIR/include/ #cp /usr/include/jconfig.h $QTDIR/include/ #cp /usr/include/jerror.h $QTDIR/include/ #cp /usr/include/jmorecfg.h $QTDIR/include/
10
#cp /usr/local/qtx/bin/uic $QTDIR/bin/
#./configure -shared -embedded arm -qt-gif -no-exceptions -thread -no-nis -no-cups -no-stl -qt-imgfmt-mng -qt-imgfmt-png -qt-imgfmt-jpeg -qt-sql-sqlite -qvfb -depths 4,8,16,32
#make //编译,最终生成基于ARM平台的Qt/E库文件:libqte-mt.so、libqte-mt.so.3、libqte-mt.so.3.3、libqte-mt.so.3.3.5 到此,整个Qt/Embedded的开发环境全部建立起来了
2.3 Qt在嵌入式Linux的应用
QT在嵌入式Linux中应用需要完成这几个方面:字体库移植,设置环境变量以及Framebuffer的支持。
字体库的支持:是在qt的/lib/fonts目录下。由于程序运行的时候是到这个文件夹下面来调用,因此需要将字体库复制到这个目录下。
环境变量的设置:通常情况下,与默认的环境变量不同,因此需要设置的有QWS_MOUSE_PROTO, QWS_KEYBOARD 以及 QWS_DISPLAY,用来指定鼠标、键盘以及显示设备管理。在./configure 的时候需要加入的选项是-qt-kbd-
framebuffer的支持:没有特殊需求的情况下,要求在目标设备上使能framebuffer。Linux framebuffer在标准设置情况下是使能的。 2.3.1 在嵌入式Linux上运行Qt程序
任何嵌入式linux应用程序可以通过构建QApplication 对象QApplication::GuiServer的格式,被构建为服务server application。或者通过-qws命令行选项的方式。本文当假设用The Virtual Framebuffer 或者嵌入式linux的VNC协议,或者正确配置的Linux framebuffer。而且没有服务进程在运行。可以使用的显示方式有:Using a Single Display
单显示,运行这种显示方式,改变Linux console,而且选择一个应用来运行。它要求在安装过程中,环境变量是可用的。它要求指定的硬件设备驱动必须工作正常。比如:
cd path/to/QtEmbedded/demos/textedit
11
./textedit -qws
* Using Multiple Displays
linux同时也是支持多设备显示。有两种方式可以完成。当在运行多服务程序的时候,显示屏的驱动(以及数量)必须为每一个程序进行指定。用-display命令行或者QWS_DISPLAY 来指定。比如: ./myfirstserverapplication -qws -display \ ./mysecondserverapplication -qws -display \
需要注意的是,必须指定一个显示设备,在开始客户端程序的时候。比如:./myclientapplication -display \。在程序运行的时候,没有办法将一个客户端程序从一个显示移动到另一个显示。用多显示屏驱动,另一方面,应用程序可以方便的在两个不同类型的显示屏之间切换。多屏幕显示可以用-display命令行参数来指定或者通过设置QWS_DISPLAY环境变量比如: ./myserverapplication -qws -display \QVFb:0 QVFb:1:offset=0,0 VNC:offset=640,0 :2\ * Command Line Options 命令行选项
2.3.2 嵌入式Linux Qt显示管理
当需要显示的时候,默认的动作是每一个嵌入式linux的客户端将需要的显示的色调存放在内存中,然后服务端将相关的数据从内存在中送到显示屏上。服务端用显示屏驱动copy内存中的内容到显示屏上显示。显示屏的驱动是在服务端应用加载的时候运行的,用的是qt的插件系统。常用的方式有:可用的驱动;指定一个驱动;子驱动和多驱动。 Available Drivers可用的驱动
嵌入式linux的qt提供的驱动有Linux framebuffer, the virtual framebuffer, transformed screens, VNC servers and multi screens.通过运行./configure 选项来列出可用的驱动。默认的配置是不加速的Linux framebuffer driver (/dev/fb0) 被打开。其他的设备驱动也可以使能或者禁止,通过以下命令行。例如:./configure -qt-gfx-transformed Specifying a Driver指定一个驱动
通过设置环境变量QWS_DISPLAY来指定一个设备。比如:格式如下的: export QWS_DISPLAY=\specific options>]... [:
12
驱动的屏幕,而且使能多显示。如下的表格用来指定驱动。环境变量的QWS_DISPLAY也可以通过-display来设置。比如: myApplication -display \ Subdrivers and Multiple Drivers子驱动和多驱动
VNC, Transformed 和Multi screen drivers取决于子驱动。通用的语法是: export
QWS_DISPLAY=\
options>]...[ :
* mmWidth=
当运行一个Qt for Embedded Linux应用程序的时候,不管是作为一个服务还是连接到另一个服务,当它开始运行的时候,鼠标驱动被服务的应用加载,用qt的plugin system。 在配置qt的时候通过选项来选择支持的鼠标以及键盘设备,同时测试可用的设备。通过 ./configu …… 此处隐藏:3785字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




