1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Qt--模拟按下按键(键盘)

Qt--模拟按下按键(键盘)

时间:2023-08-27 11:00:51

相关推荐

Qt--模拟按下按键(键盘)

一、前言

最近在做QWT开发的时候碰到一个问题,QwtPlotZoomer提供的放大、缩小操作只支持鼠标事件或键盘事件,但是我希望通过点击软件上的按钮去响应放大、缩小操作,但是事件槽函数不是我写的,不知道怎么调用,所以就只能给放大、缩小操作写一个快捷键了。例如:点击键盘I键放大、O键缩小,然后只需要在软件按钮槽函数中模拟按下了I键和O键,就可以响应相应的放大、缩小操作了。

二、具体操作

//模拟按下键盘I键QWidget *receiver = QApplication::focusWidget();QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_I, Qt::NoModifier);QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_I, Qt::NoModifier);QApplication::sendEvent(receiver, &keyPress);QApplication::sendEvent(receiver, &keyRelease);

//模拟按下键盘O键QWidget *receiver = QApplication::focusWidget();QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_O, Qt::NoModifier);QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_O, Qt::NoModifier);QApplication::sendEvent(receiver, &keyPress);QApplication::sendEvent(receiver, &keyRelease);

QKeyEvent构造函数:

第一个参数:QEvent事件(查阅官方文档)第二个参数:键盘按键(查阅官方文档)第三个参数:组合键

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。