一、前言
在Qt中如果想要检测键盘按下或松开,可以重写Qt中的键盘事件虚函数
二、下面以F1按键为例
1、在.h文件中添加
protected:
//键盘按下事件
virtual void keyPressEvent(QKeyEvent *event);
//键盘松开事件
virtual void keyReleaseEvent(QKeyEvent *event);
2、在.cpp中重写按键事件虚函数
void MainPage::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_F2){
if(event->isAutoRepeat()){
return;
}
//操作
return;
}
if(event->key() == Qt::Key_F1){
if(event->isAutoRepeat()){
return;
}
//操作
return;
}
if(event->key() == Qt::Key_F3){
if(event->isAutoRepeat()){
return;
}
//操作
return;
}
}
void MainPage::keyReleaseEvent(QKeyEvent *ev)
{
if(ev->key() == Qt::Key_F3)
{
//操作
return;
}
if(ev->key() == Qt::Key_F1)
{
//操作
return;
}
QWidget::keyReleaseEvent(ev);
}