本文适用于移植QT5后,触摸屏和显示位置不同的问题。
借鉴的问答:https://bbs.****.net/topics/392188963
参考QT文档:http://doc.qt.io/qt-5/embedded-linux.html#platform-plugins-for-embedded-linux-devices
首先,排除触摸屏驱动和硬件问题,使用hexdump "触摸屏设备驱动节点名称",查看触摸屏是否正常,如下图
如果排除了触摸屏本身的问题,则是QT坐标系的问题,这里提醒如果是用电容屏的同学,最好不要用tslib插件。
本人是用电容屏,电阻屏和电容屏处理方式原理一样。
下面说处理方法:
移植QT后,常常会出现触摸屏点击位置和显示位置不同的错误,这是因为QT默认的坐标轴和触摸屏的坐标轴不同,这时候我们需要使用QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS 来调教出正确的触摸屏,使用这个参数可以旋转坐标轴和反转x轴或者y轴。QT文档解释如下:
那么如何确定旋转多少度还是反转呢?最简单的方法就是编写一个被一个一个按钮充满的界面,然后一个一个按下去。先尝试旋转角度,90,180或者270,这时候会出现两种结果:
第一种:坐标轴正确,那恭喜你了。
第二种:如果还是不正确,接下来就是反转坐标轴了,这时候一般都会有一列或者一行按钮是正确的点击,即点击位置和显示被点击的位置一样,我们画出坐标轴就可以判断该反转哪一个坐标轴了。下面是我的示例:
如果你也是itop 4412 7寸屏,则可以使用借用。