을 예상대로 작동하지 않는 것은 내 코드입니다 :QMainWindow :: keyReleaseEvent 여기
.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
기능마다 호출되는 I 키를 누르지 만 키를 놓으면 keyReleaseEvent
이 호출되지 않습니다. 내가 놓친 게 있니?
당신은 당신이 (이 방법을 입력하지 않습니다에 브레이크 포인트를 설정하기 위해 디버거를 시도 함수의 첫 번째 줄) –
양식에 MainMenu가 있습니까? 그것은 행동에 영향을 미칠 수 있습니다. – deepmax
@VahidNateghi 시도했지만 결코 입력하지 않았습니다. –