本文介绍在嵌入式Linux平台部署Qt应用程序。
嵌入式Linux平台由于资源有限,通常不带桌面系统,因此,部署Qt应用程序时需作相关配置,根据显示接口的不同,配置也有所不同,本文针对常见的LinuxFB,EGLFS显示接口给出相应的配置方法,并对嵌入式设备常用的触摸屏的配置作简要介绍。
1.LinuxFB插件
LinuxFB插件基本配置如下(需结合实际情况修改):
export QT_DEBUG_PLUGINS=0
export LD_LIBRARY_PATH=/lib/aarch64-linux-gnu/:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms
export QT_QPA_FONTDIR=/usr/share/fonts/
# rotation=0/90/180/270
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=0
export QT_QPA_FB_HIDECURSOR=1
export QT_QPA_FB_TSLIB=0
//other
export QT_QPA_FB_DRM=1
export QT_QPA_FB_FORCE_FULLSCREEN=1
其中,
1)QT_DEBUG_PLUGINS:Qt调试开关,在运行Qt时可以辅助查找问题
2)LD_LIBRARY_PATH:Qt库路径
3)QT_QPA_PLATFORM_PLUGIN_PATH:Qt平台插件路径
4)QT_QPA_FONTDIR:Qt使用字体路径
5)QT_QPA_PLATFORM:Qt平台配置,和3)平台插件有关,这里配置为“linuxfb”,不旋转“rotation=0”,屏幕旋转时,主要触摸板也需要同步设置
6)QT_QPA_FB_HIDECURSOR:配置是否隐藏鼠标
7)QT_QPA_FB_TSLIB:配置是否使用TSLIB
2.EGLFS插件
EGLFS插件基本配置如下(需结合实际情况修改):
export QT_DEBUG_PLUGINS=0
export LD_LIBRARY_PATH=/lib/aarch64-linux-gnu/:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms
export QT_QPA_FONTDIR=/usr/share/fonts/
export QT_QPA_PLATFORM=eglfs
# rotation=0/90/180/270
export QT_QPA_EGLFS_ROTATION=0
export QT_QPA_EGLFS_HIDECURSOR=1
export QT_QPA_EGLFS_TSLIB=0
# other
export QT_SCALE_FACTOR=0.5
其中,
1)QT_DEBUG_PLUGINS:Qt调试开关,在运行Qt时可以辅助查找问题
2)LD_LIBRARY_PATH:Qt库路径
3)QT_QPA_PLATFORM_PLUGIN_PATH:Qt平台插件路径
4)QT_QPA_FONTDIR:Qt使用字体路径
5)QT_QPA_PLATFORM:Qt平台配置,和3)平台插件有关,这里配置为“eglfs”
6)QT_QPA_EGLFS_ROTATION:屏幕旋转配置,这里配置为不旋转,屏幕旋转时,主要触摸板也需要同步设置
7)QT_QPA_EGLFS_HIDECURSOR:配置是否隐藏鼠标
8)QT_QPA_EGLFS_TSLIB:配置是否使用TSLIB
3.TSLIB配置
TSLIB是嵌入式设备触摸板常用的库。安装“tslib”后,也需要作相关配置,基本配置如下(需结合实际情况修改):
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
注意:
以上所有配置,可以写入Linux文件系统中“/etc/profile”里。
总结,本文介绍了在嵌入式Linux平台部署Qt应用程序。