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无窗口状态下对键盘事件的监听的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的键盘事件,以及焦点的设置(比较详细)

Mac 鼠标/键盘事件的监听和模拟

PyQt5-Qt Designer鼠标+键盘事件

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听