当前位置:编程学习 > wap >>

Qt嵌入式移植tslib1.4后,触摸屏花屏问题。

开发板上的系统已经自带了触摸屏驱动,而且能正常使用。现在要用QT写程序,移植了tslib1.4。设置好环境后,程序能运行,而且触屏有反应。但是当点击时,后面的背景也一直闪现,导致屏幕很混乱。明显能看到有两个鼠标箭头。我觉得好像是系统和我的Qt程序用了两套驱动一样。小白在这求解?[img=http://b95.photo.store.qq.com/psb?/9bffbe3a-fc94-49dc-9b5a-f33b26ce16ec/upBQRGFkaN.LrYbiaI8xiqdZ9WKJgp6aI44tH0PEDAc!/b/Yf6erTj0HgAAYvklrzhYHwAA][/img][img=http://b97.photo.store.qq.com/psb?/9bffbe3a-fc94-49dc-9b5a-f33b26ce16ec/3voOZSHebRGkVGhd688Vd9OI4bhCxpunYytDNQzDN4A!/b/YY0X1DkoAQAAYiJB3TlDAQAA][/img] --------------------编程问答-------------------- 图片需要上传到CSDN个人空间相册再付链接。
tslib中有一些测试用的程序,执行一下测试程序看是否显示正常 --------------------编程问答-------------------- 图片我传到空间了。tslib里的ts_calibrate和ts_test都能运行。但是,就是屏幕会花掉。我看了一下,板子自带的系统里有ts_calibrate,而且查看到系统里的一个文件,显示用的是tslib1.0.  运行qt程序好像,qt接受一次触摸事件,同时系统也接受一次触摸事件一样。而且,有时能看到有两个鼠标。一黑一白。希望大侠能指导一下。 --------------------编程问答-------------------- 补上的图片 --------------------编程问答-------------------- 这个花屏可以看到 ~  即控制台tty信息 ,不应该把此输出到fb上,如果你用的是fb的话。
--------------------编程问答-------------------- export TSLIB_FBDEVICE=/dev/fb0  //这是我的tslib的部分设置。您是说的这里不应该设置成fb吗?非常感谢您的答复。 --------------------编程问答-------------------- tty是console输出,fb设备本身不需要更换。 --------------------编程问答--------------------
引用 5 楼 xiaoshuaige2009 的回复:
export TSLIB_FBDEVICE=/dev/fb0  //这是我的tslib的部分设置。您是说的这里不应该设置成fb吗?非常感谢您的答复。


不是这个意思,应该这么设置,你的画屏很明显是console输出打到fb上了 --------------------编程问答-------------------- 不知道楼主是怎么做的,当时我做的时候也是出现了这个问题。因为我是用qt4做的程序移植到了qtopia2.2.0上。还是请楼主把你的详细过程写出来吧,这样才好解决问题。 --------------------编程问答-------------------- 我用qt-everywhere-opensource-src-4.7.4.tar.gz包编译的。配置./configure -prefix /mylib/qt-arm -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-qvfb -no-nis -no-opengl -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/mylib/tslib/include -L/mylib/tslib/lib 然后将库拷贝到开发板。板子上的设置export QTDIR=/mylib/qt-arm
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH
export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0
export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
export QT_QWS_FONTDIR=$QTDIR/lib/fonts

1、export TSLIB_ROOT=/mylib/tslib
2、export TSLIB_TSDEVICE=/dev/event2
3、export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
4、export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
5、export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
6、export TSLIB_CONSOLEDEVICE=none
7、export TSLIB_FBDEVICE=/dev/fb0
8、export LD_LIBRARY_PATH=$TSLIB_ROOT/lib

是不是这里的“export TSLIB_CONSOLEDEVICE=none”设置不对。还有,我的开发板上自带了一个图形界面的系统。是不是和这个有关?我在网上查到一些资料说,要采用独占FrameBuffer的方法,这个方法能行吗?网大虾们给予知道。非常感谢。 

--------------------编程问答--------------------
引用 7 楼 yiyaaixuexi 的回复:
引用 5 楼 xiaoshuaige2009 的回复:

export TSLIB_FBDEVICE=/dev/fb0  //这是我的tslib的部分设置。您是说的这里不应该设置成fb吗?非常感谢您的答复。


不是这个意思,应该这么设置,你的画屏很明显是console输出打到fb上了

是不是说,我要更改console的设置?如果是,该怎样更改呢?我看到一些资料说要采用独占FrameBuffer 的方式,是不是这样呢?谢谢。 --------------------编程问答-------------------- 我的感觉和你QT环境变量无关,而是linux启动参数里面的console=..什么的有关,大约就是uboot里面setenv bootargs mem=40M console=ttyS1,115200n8 root=/dev/nfs nfsroot=192.168.x.xx:/srv/nfs/omapl138 rw ip=192.168.x.xx:192.168.x.xx:255.255.255.248这句。另外我记得内核里面似乎也有相应配置,不过忘了- - --------------------编程问答-------------------- 查了下我的内核config有个选项:
Device Drivers 
Graphics support
Console Display driver support
Framebuffer Console support

补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,