关于嵌入式Qt5配置环境变量导致鼠标显示与隐藏

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使鼠标隐藏如有隐患,请大佬告知!

4.在查询过程中,QT_QPA_GENERIC_PLUGINS这个环境变量也是多次出现,但是不知道有什么用……如果有大佬知道的话……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值