基于s3c2440的qt移植与编程实现_毕业设计论文(编辑修改稿)内容摘要:

鼠标的光标将一直是可用的。 (即使使用硬件加速驱动器来支持硬件光标) QWS_DISPLAY : 指 定 显 示 形 式 和 framebuffer. 例如: export QWS_DISPLAY=driver[:driver specific options]...[:display num] QWS_SIZE : 指定 嵌 入 式 linux qt 窗 口在 屏 幕上 的 大小。 export QWS_SIZE=widthxheight QWS_MOUSE_PROTO: xport QWS_MOUSE_PROTO=driver[:driver specific options], driver参数可以是 MouseMan, IntelliMouse, Microsoft, VR41xx, LinuxTP, Yopy. Tslib and keys。 /dev/mouse 指的是鼠标设备, /dev/ts for touch panels。 QWS_KEYBOARD 为输入设备指定输入设备和驱动。 比如: export 10 QWS_KEYBOARD=driver[:driver specific options]。 driver参数可以是SL5000, Yopy, VR41xx, TTY, USB and keys,指定的是一个标准设备。 Qt/X11 安装 QT/X11 安装步骤如下: cd /usr/local tar xvfz mv qtx cd qtx export QTDIR=$PWD //设置环境变量,在编译的时候要用到 export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH =$QTDIR/lib ./configure depths 4,8,16 noipv6 nocups nopch –qvfb depths 4,8,16,32 //配置,可以通过 ./configure help 来获得帮助信息 make //编译 make install Qt/Embedded 安装 编译并安装 Qt/Embedded主要是为了生成基于 ARM内核的 Qt/E库文件,将这些库文件移植到 ARM 平台中就可以运行通过 QT开发出来的 GUI 程序了,下面列出其安装步骤: cd /usr/local tar xvzf mv 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/ $QTDIR/include/ cp /usr/include/ $QTDIR/include/ cp /usr/include/ $QTDIR/include/ cp /usr/include/ $QTDIR/include/ 11 cp /usr/local/qtx/bin/uic $QTDIR/bin/ ./configure shared embedded arm qtgif noexceptions thread nonis nocups nostl qtimgfmtmng qtimgfmtpng qtimgfmtjpeg qtsqlsqlite qvfb depths 4,8,16,32 make //编译,最终生成基于 ARM 平台的 Qt/E 库文件: 、 、 到此,整个 Qt/Embedded 的开发环境全部建立起来了 Qt 在嵌入式 Linux 的应用 QT 在嵌入式 Linux 中应用需要完成这 几个方面:字体库移植,设置环境变量以及 Framebuffer 的支持。 字体库的支持:是在 qt 的 /lib/fonts 目录下。 由于程序运行的时候是到这个文件夹下面来调用,因此需要将字体库复制到这个目录下。 环境变量的设置:通常情况下,与默认的环境变量不同,因此需要设置的有 QWS_MOUSE_PROTO, QWS_KEYBOARD 以及 QWS_DISPLAY,用来指定鼠标、键盘以及显示设备管理。 在 ./configure 的时候需要加入的选项是 qtkbdkeyboarddriver and qtmousemousedriver ,这样才能使能这些设备驱动。 但是还需要指定一个具体的设备,因此需要通过设置环境变量来完成。 framebuffer 的支持:没有特殊需求的情况下,要求在目标设 备上使能framebuffer。 Linux framebuffer 在标准设置情况下是使能的。 在嵌入式 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 12 ./textedit qws * Using Multiple Displays linux 同时也是支持多设备显示。 有两种方式可以完成。 当在运行多服务程序的时候,显示屏的驱动(以及数量)必须为每一个程序进行指定。 用-display 命令行或者 QWS_DISPLAY 来指定。 比如: ./myfirstserverapplication qws display transformed:rot90:1 ./mysecondserverapplication qws display QVFb:2 需要注意的是,必须指定一个显示设备,在开始客户端程序的时候。 比如: ./myclientapplication display QVFb:2。 在程序运行的时候,没有办法将一个客户端程序从一个显示移动到另一个显示。 用多显示屏驱动,另一方面,应用程序可以方便的在两个不同类型的显示屏之间切换。 多屏幕显示可以用display 命令行参数来指定或者通过设置 QWS_DISPLAY 环境变量比如: ./myserverapplication qws display Multi: QVFb:0 QVFb:1:offset=0,0 VNC:offset=640,0 :2 * Command Line Options 命令行选项 嵌入式 Linux Qt 显示管理 当需要显示的时候,默认的动作是每一个嵌入式 linux 的客户端将需要的显示的色调存放在内存中,然后服务端将相关的数据从内存在中送到显示屏上。 服务端用显示屏驱动 copy 内存中的内容到显示屏上显示。 显示屏的驱动是在服务端应用加载的时候运行的,用的是 qt 的插件系统。 常用的方式有:可用的驱动;指定一个驱动;子驱动和多驱动。 Available Drivers 可用的驱动 嵌入式 linux的 qt提供的驱动有 Linux framebuffer, the virtual framebuffer, transformed screens, VNC servers and multi ./configure 选项来列出可用的驱动。 默认的配置是不加速的 Linux framebuffer driver (/dev/fb0) 被打开。 其他的设备驱动也可以使能或者禁止,通过以下命令行。 例如: ./configure qtgfxtransformed Specifying a Driver 指定一个驱动 通过设置环境变量 QWS_DISPLAY 来指定一个设备。 比如:格式如下的: export QWS_DISPLAY=driver[:driver specific options]... [:display num] driver可以用的参数有: LinuxFb, QVFb, VNC, Transformed, Multi and keys identifying custom drivers。 参数 display num的被用来分辨用相同 13 驱动的屏幕,而且使能多显示。 如下的表格用来指定驱动。 环境变量的QWS_DISPLAY 也可以通过 display 来设置。 比如: myApplication display driver[:driver specific options]... [:display num] Subdrivers and Multiple Drivers 子驱动和多驱动 VNC, Transformed 和 Multi screen drivers 取决于子驱动。 通用的语法是: export QWS_DISPLAY=driver[:subdriver][:subdriver options]...[ :display num]至于子驱动,在每个子驱动之间加上 空间是很重要的,在显示设备前加上用来分开各个驱动和显示设备。 注意的是多屏幕驱动可以拥有多个子设备驱动,比如: export QWS_DISPLAY=Multi: QVFb:0 QVFb:offset=640,0:1 :2注意的是: VNC screen driver 在没有指定屏幕驱动的情况下,默认的是虚拟屏幕驱。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。