Qt环境变量设置

对于一些电阻式、单触控触摸屏,可能有必要使用tslib,而不是依赖于Linux多点触控协议和事件设备。对于现代的触摸屏来说,这是不必要的。可以通过将环境变量QT_QPA_EGLFS_TSLIB设置为1来启用tslib支持。要更改设备,设置环境变量TSLIB_TSDEVICE或在命令行上传递设备名称。

注意,tslib输入处理程序生成鼠标事件并只支持单点触控,与evdevtouch相反,它也生成真正的多点触控QTouchEvent事件。

在这里插入图片描述

图1 Qt官方文档

在IMX6系列ARM评估套件上执行QT程序,如使用电阻屏,需要在评估板的/etc/profile文件中,添加Qt使用所需的环境变量如下所示。如使用电容屏添加如下变量是不必要的,Qt程序会自动识别对应的输入设备,如触摸屏、鼠标及键盘。

#TSLIB
export TSLIB_TSDEVICE=/dev/input/touchscreen0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_FBDEVICE=/dev/fb0

#Qt
export QT_QPA_EGLFS_DISABLE_INPUT=1
export QT_QPA_GENERIC_PLUGINS="tslib:/dev/input/touchscreen0"
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins
export QT_QPA_PLATFORM=eglfs
export QML2_IMPORT_PATH=/usr/lib/qml
export QT_QPA_EGLFS_TSLIB=1

参数解释:

#TSLIB
export TSLIB_TSDEVICE=/dev/input/touchscreen0                   # 指定触摸屏设备
export TSLIB_CALIBFILE=/etc/pointercal                          # 指定触摸屏校准文件pointercal存放位置
export TSLIB_CONFFILE=/etc/ts.conf                              # 指定TSLIB配置文件的位置
export TSLIB_PLUGINDIR=/usr/lib/ts                              # 指定触摸屏插件所在路径
export TSLIB_FBDEVICE=/dev/fb0                                  # 指定帧缓冲设备

#Qt
export QT_QPA_EGLFS_DISABLE_INPUT=1                             # 设置为1来禁用内置输入处理程序
export QT_QPA_GENERIC_PLUGINS="tslib:/dev/input/touchscreen0"   # 指定输入设备
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins             # 设置插件路径
export QT_QPA_PLATFORM=eglfs                                    # 设置平台插件
export QML2_IMPORT_PATH=/usr/lib/qml                            # 指定qml插件路径
export QT_QPA_EGLFS_TSLIB=1                                     # Qt启用Tslib触摸

如使用电容屏则无需配置环境,可删除所有上述配置的环境变量。一般情况下Qt会自动识别输入设备的类型,如无法正常识别请参考如上环境进行手动配置。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐