这是我的代码:
.h 文件
class MyMainWindow : public QMainWindow
{
...
protected:
virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
private:
bool _altKeyDown;
...
}
.cpp 文件
void MyMainWindow::keyPressEvent(QKeyEvent *event) {
if(event->key() == Qt::Key_Alt) {
_altKeyDown = true;
}
}
void MyMainWindow::keyReleaseEvent(QKeyEvent *event) {
if(getenv("DEBUG_MODE")) qDebug() << "keyReleaseEvent fired";
if(event->key() == Qt::Key_Alt) {
_altKeyDown = false;
}
}
keyPressEvent
每次我按下一个键时都会调用该函数,但是当我释放键时,keyReleaseEvent
不会调用该函数。我错过了什么吗?