キーボードのキーを押してノートを演奏できる仮想音楽キーボードを開発しています。そのため、MainWindow クラスで keyPressEvent を再実装しました。修飾子 (Control、Alt、Shift など) によって生成されたイベント、および Tab、Backspace、Enter などの他の非文字キーによって生成されたイベントを無視したいと考えています。次のようなものが理想的です。
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if (!event->key().isCharacter()))
{
event->ignore();
return;
}
// handle the event
}
そのようなことを行う方法はありますか (可能性のあるすべての非文字キーを個別にテストすることはできません)? そうでない場合、イベントが修飾子である場合、イベントを簡単に無視する方法は少なくともありますか?