Qt键盘事件

1.重写键盘事件
event->key()

void keyPressEvent(QKeyEvent *event){
    if(event->key() == Qt::Key_Delete||event->key() == Qt::Key_Backspace){
        qDebug()<<"delete222";
    }
    else QWidget::keyPressEvent(event);
}

2.获取不到键盘事件
在构造函数中添加

this->grabKeyboard();

但是这个组件会接收所有的键盘事件,直到你把这个组件库释放。所以可能键盘事件都会被这个组件拦截了。。。

3.如果要设置快捷键

btn->setShortcut(Qt::Key_Delete);

使用该函数就不用考虑上述的两个问题

你可能感兴趣的:(qt,开发语言)