Qtのコントロール - キーボード
ナビゲーションに移動
検索に移動
概要
キーボード入力
フォーカスを持つオブジェクトに破棄されたイベントは、keyPressEventメソッドで受け取れない。
イベント一括処理で破棄されたイベントは受け取れない。
// Mainwindow.h
// ...略
protected:
void keyPressEvent(QKeyEvent *pEvent);
// Mainwindow.cpp
// 押下したキー名をデバッグ出力する
// その他のキーは、16進数を出力する
void MainWindow::keyPressEvent(QKeyEvent *pEvent)
{
switch (event->key())
{
case Qt::Key_Escape:
qDebug() << "Esc keyPress";
break;
case Qt::Key_Return:
qDebug() << "Return keyPress";
break;
case Qt::Key_Enter:
qDebug() << "Enter(keypad) keyPress";
break;
case Qt::Key_Home:
qDebug() << "Home keyPress";
break;
case Qt::Key_Left:
qDebug() << "Left keyPress";
break;
case Qt::Key_Down:
qDebug() << "Down keyPress";
break;
case Qt::Key_Space:
qDebug() << "Space keyPress";
break;
case Qt::Key_F1:
qDebug() << "F1 keyPress";
break;
case Qt::Key_0:
qDebug() << "0(keypad) keyPress";
break;
default:
qDebug("keyPress %x", event->key());
break;
}
}