回复: 帮助,关于键盘响应问题,谢谢了
#6 [左岸右转 04-29 11:19]
引用第5楼dotnetjack于2006-04-29 11:02发表的“”:
Qt/Embedded提供了事件过滤器(key event filter)的接口,在键盘点击事件从QWSServer截获并发送到相应的client之前会经过函数QWSServer::KeyboardFilter。
那要怎么样才能让键盘想响应的时候就它响应,不想让键盘响应的时候就不响应了,要做哪一些设置,或用到哪一些函数了。谢谢了。
#7 [左岸右转 04-29 11:22]
我的MSN:a_sam218@hotmail.com或QQ52582704有懂的吗,可以加我一下,:)
#8 [dotnetjack 04-29 11:29]
You can do what you want to do in that filter message functions, for example, you can make some flags.
#9 [dotnetjack 04-29 11:30]
It is a very extravagant idea to chat with msn, I even cannot use it in working time.
#10 [shiroki 04-29 15:01]
Hi
刚才shiroki说是用grabKeyboard (); 才会不响应,所以我改成
void Form1_Ch1::keyPressEvent ( QKeyEvent * event )
{
if(event->key()==Qt::Key_Up )/
{
grabKeyboard ();
if (teamflag>1)
teamflag--;
else
teamflag=20;
printf("%d\n",xx++);//测试
update();
}
但进入一次之后,按Key_Up 还是会继续响应的;希望哪个朋友知道的可否告知一下,项目急着要出来,谢谢了
我说的好像不是这个意思吧
我的意思是在你能接收到key消息的时候你只要不去处理它不就不会响应了吗
而且我觉得应该是你即使不调用grabkeyboard你的form应该也会收到 keypress的事件吧? 如果这样的话即使release掉也没用,还是会收到的
你可以在这个响应函数里加一个static的flag, 第一次进去之后把它设成true, 后面判断这个flag,就不要再执行你的处理代码了。