QGraphicView 内に QGraphicsScene があります。画面を押さなくても、キーボードイベントを受け取りたいです。キーを押したまま画面のどこかをクリックすると、別のアクションを実行する必要がありますが、最初にクリックする必要があるため、QGraphicsScene にフォーカスしていなくてもイベントをキャプチャする必要があります。MainWindow にイベントを配置しようとしましたが、うまくいきません。
私はそのようなイベントを取得します:
void AreaScene::keyPressEvent(QKeyEvent *event){
if(event->key()==Qt::Key_Control){
MapData::controlPress=true;
}
}
void AreaScene::keyReleaseEvent(QKeyEvent *event){
if(event->key()==Qt::Key_Control){
MapData::controlPress=false;
this->renderArea=false;
}
}