• 9054阅读
  • 5回复

关于grabKeyboard()。。。。 [复制链接]

上一主题 下一主题
离线iiiyyyhhhsss
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-06
几经艰辛,终于验明,grabKeyboard()捕获键盘事件,仅仅只是捕获该程序的所有键盘事件,而非针对所有。。。。也即其他程序仍然能捕获键盘事件使用键盘。。。。

离线iiiyyyhhhsss

只看该作者 1楼 发表于: 2009-09-06
那么,是否能做到令任何程序都不能接受键盘事件,仅仅只有该程序的某个控件能接受呢?

之前jorneyr说的:可以啊,在application级实现事件处理。  

可否多给点提示。。。。
离线jorneyr

只看该作者 2楼 发表于: 2009-09-07
你说的那不是qt自身带的功能, 那就是如windows下的键盘勾子程序, 每个操作系统下的实现还不一样.
离线iiiyyyhhhsss

只看该作者 3楼 发表于: 2009-09-07
那就是说这是比较复杂的了,是吧。。

是这样的,由于我是在linux的root下,而且经常要开着机子走程序,但是linux的root用户下没有锁屏,机子容易给人影响,于是我就想自己动手简单做一个。。。。
离线rqzrqh

只看该作者 4楼 发表于: 2009-09-07
给主部件安装一个事件过滤器,什么也不做,然后返回true,表示已经把键盘事件过滤过了
离线iiiyyyhhhsss

只看该作者 5楼 发表于: 2009-09-07
刚刚我设置了一个按钮,然后让程序全屏且让按钮捕获键盘,且没有设置任何释放键盘,

由于manul里说得很清楚,说grabKeyboard会影响终端,于是按CTRL+ALT+S终端都出不来。。。

导致最终要重启。。。。真是。。。呵呵

不过我知道这并不是完全截获了键盘,只不过我不知道除了终端外的其它系统键盘响应事件。。。
快速回复
限100 字节
 
上一个 下一个