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