QT 监听键盘快捷键
qt开发pc应用过程中,要求支持上下、左右快捷键翻页。qt本身已经实现了键盘事件的监听
void QWidget::keyPressEvent(QKeyEvent *event) //键盘按下事件
void QWidget::keyReleaseEvent(QKeyEvent *event) //键盘松开事件
首先需要在构造函数中添加
this->releaseKeyboard();
如果没有添加可能会遇到,事件监听不到的问题;最初我是使用的this->grabKeyboard(),但是出现了,页面中其他需要键盘输入的控件,读不到输入内容;有兴趣两种方式都可以试一试。
最后根据需要重写这两个事件便可完成监听
void MyWidget::keyReleaseEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Right)
{
//TODO 按右键需要的动作
return;
}
// 没有需要处理的按键,将事件交给父窗口
QWidget::keyPressEvent(event);
}