标题:qt不能响应键盘和串口导致qt段错误问题
作者:wquanw
日期:2006-05-11 14:52
内容:
各位大侠,我用qt在linux下进行嵌入式开发,程序开发到了测试阶段了,没想到遇到了这两不可跨越的问题,实在令我着急,望请各位大侠帮帮小弟吧,谢谢各位了。
问题一:当我运行我的主界面时,点击一个按钮exec()弹出一个对话框(也就是modal模式),但是弹出对话框后,鼠标就不能用了,从键盘输入时gettty(登陆界面)或着shell会响应键盘的输入,而不能输入到弹出对话框的输入栏中,我该什么解决这个问题呢?我曾经试着用grabkeyboard()函数去获取键盘,但是并没有起到作用。希望大家帮帮我啊。
问题二:一个很郁闷的问题,我的程序一启动就打开串口,但并没有读数据,如果此时往串口发数据(从外部往计算机串口发),这样就会造成计算机假死状态,鼠标不能动了,然后过一会qt出现段错误。还有如果往计算机里面发数据时我用我的程序不断的从串口里把数据读出来,它就会没事,如果不接收串口数据,不管外部往串口写入多少数据都会造成假死,然后几分钟后出现断错误。
一个很有趣的测试:我原先以为是我的软件设计有问题,然后我就用它自带的例子试了一下也会出现这个断错误问题,我首先运行我的程序,这样可以打开串口,然后用CTRL + C中断我的程序,这样因为程序异常退出并没有关闭原先打开的串口,然后我打开了qt自带的例子程序,然后也用串口调试软件往串口里面发数据,这样也会造成了那个例子程序的断错误。请问这个是什么回事呢?大家可以解答一下吗?谢谢了。
#1 [shiroki 05-11 15:09]
你的程序是单纯的qte程序吗。 我觉得得先看看你的串口设备名是什么,然后在qte的源码里搜, 看看qte里什么地方会对串口设备进行操作,进行了哪些操作
#2 [fengshenx 05-12 01:44]
用的是QT的串口类?
好像qt的串口支持是第三方的。
你可以试一试直接用linux的函数操作串口。
http://digilander.libero.it/robang/rubrica/serial.htm
#3 [wquanw 05-12 08:57]
我不是直接用qt的串口类,我是自己用linux的串口函数写的,用open打开串口,用read和write读写串口。
#4 [tangruo 05-12 15:16]
应该是你串口类有问题
我也写过串口类,就没有遇到你这样的问题
#5 [longqm1984 05-16 22:32]
我的也出现了这个问题,我的问题是在运行./qpe& 后,我的串口有时候能关住有时候关不住,那是什么原因,我跟踪程序跑到那个close (fd)时候就不运行,前面有的时候能成,这个问题是我串口有问题还是什么有问题,哪位大侠告诉我一声,谢谢