深度解析 Qt Eembedded Linux移植要点 ----和LCD的横屏竖屏有关

2019-07-13 01:49发布

2)建立支持库 通过./configure来设置,主要配置可以通过--help来获得帮助;之后用make命令,然后用make install 命令。将库安装到指定的路径下面。其中的设置包括指定安装的路径;未配置的话,默认的路径是/usr/local/Trolltech/QtEmbedded-4.5.0; (3)设置环境变量 为了能够使用Qt for Embedded Linux,  必须导出的PATH变量有qmake, moc 以及其他Qt for Embedded Linux 的工具, 以及LD_LIBRARY_PATH 必须导出。例如:    PATH=/usr/local/Trolltech/QtEmbedded-4.5.0/bin:$PATH
  1. export PATH 
(4)建立虚拟的frambuffer。 建立虚拟的frambuffer,需要安装X11 Platforms . 3、嵌入式linux版本的qt环境变量 POINTERCAL_FILE:指定文件包含的数据,用来校准触摸笔设备。同时可以参考QWSCalibratedMouseHandler and Qt for Embedded Linux Pointer Handling. QT_ONSCREEN_PAINT:如果定义了的话,可以用来将控件显示在屏幕上。如果没有其他控件在同一个区域的话,该设备响应的区域将不会随着屏幕设备驱动的改变而改变。设置这个环境变量相当于在控件中应用程序中设置Qt::WA_PaintOnScreen。 QWS_SW_CURSOR:如果定义了的话,软件鼠标的光标将一直是可用的。(即使使用硬件加速驱动器来支持硬件光标) QWS_DISPLAY:指定显示形式和framebuffer.例如:export QWS_DISPLAY=[:]...[:] QWS_SIZE:指定嵌入式linux qt窗口在屏幕上的大小。export QWS_SIZE=x QWS_MOUSE_PROTO:指定触摸设备。 export QWS_MOUSE_PROTO=[:],参数可以是MouseMan, IntelliMouse, Microsoft, VR41xx, LinuxTP, Yopy. Tslib and keys。/dev/mouse 指的是鼠标设备,  /dev/ts for touch panels。 QWS_KEYBOARD为输入设备指定输入设备和驱动。比如:export QWS_KEYBOARD=[:]。参数可以是SL5000, Yopy, VR41xx, TTY, USB and keys,指定的是一个标准设备。比如:/dev/tty0。 4、在嵌入式linux上运行qt程序 任何嵌入式linux应用程序可以通过构建QApplication 对象QApplication::GuiServer的格式,被构建为服务server application。或者通过-qws命令行选项的方式。本文当假设用The Virtual Framebuffer 或者嵌入式linux的VNC协议,或者正确配置的Linux framebuffer。而且没有服务进程在运行。可以使用的显示方式有:
  1. Using a Single Display 
单显示,运行这种显示方式,改变Linux console,而且选择一个应用来运行。它要求在安装过程中,环境变量是可用的。它要求指定的硬件设备驱动必须工作正常。比如:
  1. cd path/to/QtEmbedded/demos/textedit  
  2. ./textedit -qws  
  3. * Using Multiple Displays 
linux同时也是支持多设备显示。有两种方式可以完成。当在运行多服务程序的时候,显示屏的驱动(以及数量)必须为每一个程序进行指定。用-display命令行或者QWS_DISPLAY 来指定。比如:
  1. ./myfirstserverapplication -qws -display "transformed:rot90:1"  
  2. ./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"
  1. * Command Line Options 
命令行选项