欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

QT无窗口状态下对键盘事件的监听

程序员文章站 2022-06-27 17:03:00
Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢? 1、首先需要在main方法中注册,使用installEventFilter方法把这个类的指针传进去 2、在Test类中重写eventFilter方法,这样就可以进行监听了 3、在even ......

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中进行自己的逻辑处理