• 3830阅读
  • 10回复

[提问]QT阻止键盘事件求助 [复制链接]

上一主题 下一主题
离线wpj290120750
 

只看楼主 倒序阅读 楼主  发表于: 2014-07-15
事情是这样的,一个磁卡读写设备,Rcard方法控制磁卡读写机进行读磁卡操作, ESC 键可退出.。正常情况下是没有问题的,按ESC会收到一个-7的返回值,但创建一个新线程,在新线程里调用这个方法按ESC确没有收到返回值,这个方法根本没有返回,也没有抛异常。
解决方法有两种:1,让线程里调用Rcard后按ESC键能正常返回。2,阻止ESC键。
我目前用的就是阻止ESC键,可我重写了QApplication的notify方法(阻止所有键盘消息)也没有效果。


大家觉得应该怎样解决这个问题呢,


鉴于以上写得不够清楚的地方补充一下:
         Rcard是磁条卡读书机动态库里的读卡方法,ESC是指键盘上的按键
离线wpj290120750

只看该作者 1楼 发表于: 2014-07-15
顶啊,在线等,
离线wpj290120750

只看该作者 2楼 发表于: 2014-07-15
人些呢。
离线wpj290120750

只看该作者 3楼 发表于: 2014-07-15
手工顶,,,
离线dbzhang800

只看该作者 4楼 发表于: 2014-07-15
你给的信息太少,别人不知道你的 Rcard 究竟是什么,以及你提到的ESC 是不是Qt程序处理的,还是说是你的Rcard直接操作的系统API
离线wpj290120750

只看该作者 5楼 发表于: 2014-07-15
哦,不好意思,没怎么在网上发过贴子Rcard是磁条卡读书机动态库里的读卡方法,ESC是指键盘上的按键,
离线bingyifeng

只看该作者 6楼 发表于: 2014-07-18
试试 eventfilter ?
1条评分金钱+1
wpj290120750 金钱 +1 - 2014-07-23
<span style="color:blue ">淘宝,绿石斋</span> <a href="http://shop33295817.taobao.com“> <span style="color:blue ">各种水晶饰品,手链,项链 </span></a>
离线hnxymjj

只看该作者 7楼 发表于: 2014-07-18
把这个esc对应的键忽略掉event ignore
1条评分金钱+1
wpj290120750 金钱 +1 - 2014-07-23
离线wpj290120750

只看该作者 8楼 发表于: 2014-07-23
结帖了,这个问题是磁卡供应商DLL的问题,QT里面拦截不了ESC(消息会先经过DLL里面处理,具体怎样搞的就不晓得了),让供应商那边修改去了。
离线wpj290120750

只看该作者 9楼 发表于: 2014-07-23
没找到结帖的操作,
离线dbzhang800

只看该作者 10楼 发表于: 2014-07-23
恩,不需要结贴
快速回复
限100 字节
 
上一个 下一个