Qt (C++) で keypress および keyrelease イベントを処理する方法を学んでいます。これらすべてのイベントを処理したいクラス Keyboard があります。QObject を継承しています。マウス イベントを処理する必要はありません。アプリケーションがそのクラスに対して開かれているときに、すべてのキーボード入力をどのように指示できるかを理解しようとしています。
MainWindow クラスのレイアウトにウィジェットとして追加して非表示にしようとしました (レイアウトではなくウィジェット)。現在、それは応答していません。
MainWindow クラスでもこれを試しました。
void MainWindow::keyPressEvent(QKeyEvent *event)
{
keys->keyPressEvent(event);
//Keys is a Keyboard object with this public method:
//void keyPressEvent(QKeyEvent *event);
}
しかし、それもうまくいきません。私の Keyboard::Keyboard() コンストラクターには、次のものがあります。
this->setFocusPolicy(Qt::StrongFocus);
キーボード入力がそこに到達することを確認するために他に何かする必要があるかどうかはわかりません。
Qt アプリケーションのすべてのキーボード イベントをこのクラスに送信する方法を誰かが知っていれば、非常に役に立ちます。
ありがとう、
ジョン