Qt监听键盘事件,判断回车键被按下

⌚Time: 2022-06-13 20:07:38

👨‍💻Author: Jack Ge

对于键盘事件,在qt窗口类中包含头文件并覆写keyPressEvent函数


#include <QKeyEvent>

...

class MainWindow : public QMainWindow

{

    Q_OBJECT

    

public:

    void keyPressEvent(QKeyEvent *);

    ...

};

实现函数,由于enter键有两个值Qt::Key_Return和Qt::Key_Enter,因此有两个case情况。

对于case语句,当满足一个case,如果没有break出去,之后的所有case语句都会被执行,直到遇到break。另外,case后的内容要加花括号。


void MainWindow::keyPressEvent(QKeyEvent *event){

    switch (event->key()) {

    case Qt::Key_Return:

    case Qt::Key_Enter:

    {

        do_something();

    }

        break;

    default:

        break;

    }

}