QKeyEvent Class
QKeyEvent クラスは、キーイベントを表します。詳細...
| ヘッダー: | #include <QKeyEvent> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: | QInputEvent |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QKeyEventは、イベントクラス群の一部です。
パブリック関数
| QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1) | |
| QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard()) | |
| int | count() const |
| bool | isAutoRepeat() const |
| int | key() const |
(since 6.0) QKeyCombination | keyCombination() const |
| bool | matches(QKeySequence::StandardKey key) const |
| Qt::KeyboardModifiers | modifiers() const |
| quint32 | nativeModifiers() const |
| quint32 | nativeScanCode() const |
| quint32 | nativeVirtualKey() const |
| QString | text() const |
プロテクトされた関数
| QKeyEvent(QKeyEvent &&) | |
| QKeyEvent & | operator=(QKeyEvent &&) |
| QKeyEvent & | operator=(const QKeyEvent &other) |
詳細説明
キーイベントは、キーが押されたり離されたりした際に、キーボード入力のフォーカスがあるウィジェットに送信されます。
キーイベントには、受信側がそのキーイベントを処理するかどうかを示す特別な受け入れフラグが含まれています。このフラグは、QEvent::KeyPress およびQEvent::KeyRelease ではデフォルトで設定されているため、キーイベントに対して処理を行う際にaccept() を呼び出す必要はありません。QEvent::ShortcutOverride の場合、オーバーライドをトリガーするには、レシーバーがイベントを明示的に受け入れる必要があります。キーイベントでignore()を呼び出すと、そのイベントは親ウィジェットに伝播されます。イベントは、ウィジェットがそれを受け入れるか、イベントフィルタがそれを処理するまで、親ウィジェットチェーンを遡って伝播されます。
QWidget::setEnabled() 関数を使用すると、ウィジェットに対するマウスおよびキーボードイベントを有効または無効にできます。
イベントハンドラ `QWidget::keyPressEvent()`、`QWidget::keyReleaseEvent()`、`QGraphicsItem::keyPressEvent()`、および `QGraphicsItem::keyReleaseEvent()` は、キーイベントを受け取ります。
QFocusEvent およびQWidget::grabKeyboard()も参照してください 。
メンバ関数のドキュメント
QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)
キーイベントオブジェクトを生成します。
type パラメータは、QEvent::KeyPress 、QEvent::KeyRelease 、またはQEvent::ShortcutOverride のいずれかでなければなりません。
intkey は、イベントループがリッスンすべきQt::Key のコードです。key が0の場合、そのイベントは既知のキーによるものではありません。例えば、コンポーズシーケンスやキーボードマクロの結果である可能性があります。modifiers にはキーボードの修飾キーが格納され、指定されたtext は、そのキーによって生成されたUnicodeテキストです。autorep がtrueの場合、isAutoRepeat()はtrueになります。count は、そのイベントに関与するキーの数を表します。
QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())
キーイベントオブジェクトを構築します。
type パラメータは、QEvent::KeyPress 、QEvent::KeyRelease 、またはQEvent::ShortcutOverride のいずれでなければなりません。
intkey は、イベントループがリッスンすべきQt::Key のコードです。key が0の場合、そのイベントは既知のキーによるものではありません。たとえば、コンポーズシーケンスやキーボードマクロの結果である可能性があります。modifiers にはキーボードの修飾子が格納され、指定されたtext は、そのキーによって生成されたUnicodeテキストです。autorep がtrueの場合、isAutoRepeat()はtrueになります。count は、そのイベントに関与するキーの数を表します。
通常のキーイベントデータに加え、nativeScanCode 、nativeVirtualKey 、nativeModifiers も含まれます。この追加データは、ショートカットシステムがどのショートカットをトリガーするかを決定するために使用されます。
[protected delete] QKeyEvent::QKeyEvent(QKeyEvent &&)
QKeyEvent のインスタンスをMoveコンストラクタで生成します。この関数は削除されています。
int QKeyEvent::count() const
このイベントに関与するキーの数を返します。text() が空でない場合、これは単にその文字列の長さとなります。
Qt::WA_KeyCompressionも参照してください 。
bool QKeyEvent::isAutoRepeat() const
このイベントが自動リピート中のキーから発生した場合は `true ` を返し、最初のキー押下から発生した場合は `false ` を返します。
なお、イベントが自動リピートに部分的に起因する複数キーの圧縮イベントである場合、この関数は真または偽のいずれかを不確定に返す可能性があることに注意してください。
int QKeyEvent::key() const
押された、または離されたキーのコードを返します。
キーボードコードの一覧については、Qt::Key を参照してください。これらのコードは、基盤となるウィンドウシステムに依存しません。なお、この関数は大文字と小文字を区別しません。この目的には、text() 関数(キーによって生成された Unicode テキストを返す)を使用してください。
値が 0 またはQt::Key_unknown の場合、そのイベントは既知のキーによるものではないことを意味します。たとえば、コンポーズシーケンス、キーボードマクロ、あるいはキーイベントの圧縮によるものなどが考えられます。
Qt::WA_KeyCompressionも参照してください 。
[since 6.0] QKeyCombination QKeyEvent::keyCombination() const
このイベントが持つkey()およびmodifiers()の両方を含むQKeyCombination オブジェクトを返します。
この関数はQt 6.0で導入されました。
bool QKeyEvent::matches(QKeySequence::StandardKey key) const
キーイベントが指定された標準key に一致する場合はtrue を返し、一致しない場合はfalse を返します。
Qt::KeyboardModifiers QKeyEvent::modifiers() const
イベントが発生した直後に存在していたキーボード修飾フラグを返します。
警告:この関数は常に 信頼できるとは限りません。たとえば、ユーザーがShift の両方のキーを同時に押した後に、そのうちの1つを離すなどして、この関数の動作を混乱させる可能性があります。
関連項目 :QGuiApplication::keyboardModifiers()
quint32 QKeyEvent::nativeModifiers() const
キーイベントのネイティブ修飾子を返します。キーイベントにこのデータが含まれていない場合は、0が返されます。
注: キーイベントに拡張情報が含まれている場合でも、ネイティブ修飾子は 0 になることがあります。
quint32 QKeyEvent::nativeScanCode() const
キーイベントのネイティブスキャンコードを返します。キーイベントにこのデータが含まれていない場合は、0 が返されます。
注: キーイベントに拡張情報が含まれている場合でも、ネイティブスキャンコードが 0 になることがあります。
quint32 QKeyEvent::nativeVirtualKey() const
キーイベントのネイティブ仮想キー、またはキーシンボルを返します。キーイベントにこのデータが含まれていない場合は、0 が返されます。
注: キーイベントに拡張情報が含まれている場合でも、ネイティブ仮想キーが 0 になることがあります。
QString QKeyEvent::text() const
このキーによって生成されたUnicodeテキストを返します。
このテキストは、Unicodeコードポイントの印刷可能範囲に限定されず、制御文字や、QChar::Other_PrivateUse を含む他のUnicodeカテゴリの文字が含まれる場合があります。
また、Shift、Control、Alt、Meta などの修飾キーが押されている場合(プラットフォームによって異なります)など、テキストが空になることもあります。key() 関数は常に有効な値を返します。
Qt::WA_KeyCompressionも参照してください 。
[protected delete] QKeyEvent &QKeyEvent::operator=(QKeyEvent &&)
other をこのQKeyEvent インスタンスに割り当てます。この関数は削除されます。
[noexcept protected default] QKeyEvent &QKeyEvent::operator=(const QKeyEvent &other)
other をこのQKeyEvent インスタンスにコピーして割り当てます。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.