有一个带有linux3.0.35和Qt4.8.5的imx6主板 我通过交叉编译Qt5.9.2源代码更新了Qt4.8.5到Qt5.9.2 QML应用程序可以构建正常并使用Qt5.9.2显示OK 但触摸无效,虽然触摸显示效果很好。
登录eventfilter()如下:
QEvent::Type(ChildAdded)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(Timer)
QEvent::Type(UpdateRequest)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)
为什么日志中有四个TouchBegin,只需轻轻一按? 为什么日志中没有任何TouchEnd?
PS:
我的交叉编译配置如下:
./ configure -release -xplatform linux-arm-gnueabi-g ++ -no-opengl -opengl es2 -prefix~ / qt5.9.2-arm -opensource -confirm-license -make libs -nomake tools -nomake tests -skip qtandroidextras -skip qtconnectivity -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtsechasing -skip qtsensors -skip qtserialbus -skip qtspeech -skip qtsvg -skip qttools -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview - 跳过qtwinextras -no-feature-iconv -no-feature-gestures -no-qml-debug
答案 0 :(得分:1)
将QT_QPA_GENERIC_PLUGINS设为tslib和evdevkeyboard,但不是evdev。
问题已得到解决。
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/ts0,evdevkeyboard:/dev/input/event6