QT无窗口状态下对键盘事件的监听
Posted xupeidong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT无窗口状态下对键盘事件的监听相关的知识,希望对你有一定的参考价值。
Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢?
int main(int argc, char *argv[]) QApplication a(argc, argv); Test *p = new Test; a.installEventFilter(p); return a.exec(); bool Test::eventFilter(QObject *obj, QEvent *event) if(event->type() == QEvent::KeyPress) static int index = 0; QKeyEvent *key=static_cast<QKeyEvent *>(event); ......... return QObject::eventFilter(obj,event);
1、首先需要在main方法中注册,使用installEventFilter方法把这个类的指针传进去
2、在Test类中重写eventFilter方法,这样就可以进行监听了
3、在eventFilter中进行自己的逻辑处理
以上是关于QT无窗口状态下对键盘事件的监听的主要内容,如果未能解决你的问题,请参考以下文章
JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听