MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtのコントロール - キーボードのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtのコントロール - キーボード
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <br><br> == キーボード入力 == フォーカスを持つオブジェクトに破棄されたイベントは、<code>keyPressEvent</code>メソッドで受け取れない。<br> イベント一括処理で破棄されたイベントは受け取れない。<br> <syntaxhighlight lang="c++"> // Mainwindow.h // ...略 protected: void keyPressEvent(QKeyEvent *pEvent); </syntaxhighlight> <br> <syntaxhighlight lang="c++"> // Mainwindow.cpp // 押下したキー名をデバッグ出力する // その他のキーは、16進数を出力する void MainWindow::keyPressEvent(QKeyEvent *pEvent) { switch (pEvent->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", pEvent->key()); break; } } </syntaxhighlight> <br><br> == 複数のキーの取得 == 1つのキーボードイベントで、複数のキーを取得する。<br> <syntaxhighlight lang="c++"> QSet<Qt::Key> keysPressed; void Widget::keyPressEvent(QKeyEvent *pEvent) { m_bFirstRelease = true; keysPressed += pEvent->key(); } void Widget::keyReleaseEvent(QKeyEvent *pEvent) { if(m_bFirstRelease) { processMultiKeys(keysPressed); } m_bFirstRelease = false; keysPressed -= pEvent->key(); } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Qt]]
Qtのコントロール - キーボード
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse