Qt版本:Qt5.12.9
结论:
不写QT_QPA_EVDEV_MOUSE_PARAMETERS环境变量则不显示鼠标,反之,环境变量配置正确则显示鼠标
如设置 Qt环境变量
export QT_QPA_EVDEV_MOUSE_PARAMETERS=/dev/input/event0
就能显示鼠标。
起因:
在交叉编译并移植Qt-Embedded后,在开发板中配置环境变量如下
#set tslib environment
export T_ROOT=$LOCAL_PATH/tslib:$T_ROOT
export PATH=$PATH:$LOCAL_PATH/tslib/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LOCAL_PATH/tslib/lib
export TSLIB_PLUGINDIR=$LOCAL_PATH/tslib/lib/ts
export TSLIB_CONFFILE=$LOCAL_PATH/tslib/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_DIR=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/touchscreen0 # set ts deviec
export POINTERCAL_FILE=/etc/pointercal
#set qt environment
export QTDIR=$LOCAL_PATH/qt5.12.12-arm
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/qt5.12.12-arm/lib:/usr/local/tslib/lib
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FB_TSLIB=1
export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
运行程序后,程序能正常运行,也能正常触摸点击,就是没有鼠标显示
以往在Qt4时,需要在程序的main.c里添加以下代码才能隐藏鼠标
QApplication::setOverrideCursor(Qt::BlankCursor);
QWSServer::setCursorVisible(false);
这次直接没有鼠标显示我还以为是Qt5自带的功能:arm版本自动隐藏鼠标
但是偏偏遇到了需要鼠标的情况!!!我真是!!!
然后就开始了网上一通乱找
但是我想显示出鼠标,于是就开始问度娘
发现Qt5中QT_QPA_EVDEV_MOUSE_PARAMETERS与鼠标显示有关(Qt4中是QWS_MOUSE_PROTO),该环境变量需要设置正确才有鼠标出现,而如果设置错误则会导致鼠标指针跳来跳去
题外话:
1.我显示鼠标的目的只是用来看触摸时鼠标的位置,关于鼠标设备、鼠标热插拔什么的没有研究
2.显不显示鼠标与能不能触摸没有直接关系
3.关于不写QT_QPA_EVDEV_MOUSE_PARAMETERS使鼠标隐藏如有隐患,请大佬告知!文章来源:https://www.toymoban.com/news/detail-496485.html
4.在查询过程中,QT_QPA_GENERIC_PLUGINS这个环境变量也是多次出现,但是不知道有什么用……如果有大佬知道的话……文章来源地址https://www.toymoban.com/news/detail-496485.html
到了这里,关于关于嵌入式Qt5配置环境变量导致鼠标显示与隐藏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!