1

キーボードのキーを押してノートを演奏できる仮想音楽キーボードを開発しています。そのため、MainWindow クラスで keyPressEvent を再実装しました。修飾子 (Control、Alt、Shift など) によって生成されたイベント、および Tab、Backspace、Enter などの他の非文字キーによって生成されたイベントを無視したいと考えています。次のようなものが理想的です。

void MainWindow::keyPressEvent(QKeyEvent *event)
{
    if (!event->key().isCharacter()))
    {
        event->ignore();
        return;
    }

    // handle the event
}

そのようなことを行う方法はありますか (可能性のあるすべての非文字キーを個別にテストすることはできません)? そうでない場合、イベントが修飾子である場合、イベントを簡単に無視する方法は少なくともありますか?

4

1 に答える 1

5

あなたがしたいように見えますQKeyEvent::text()

于 2012-09-25T12:19:58.890 に答える