QKeyEvent Class

QKeyEvent クラスは、キーイベントを記述します。詳細...

ヘッダー #include <QKeyEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承: QInputEvent

パブリック関数

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

詳細説明

キーイベントは、キーが押されたり離されたりしたときに、キーボード入力にフォーカスのあるウィジェットに送られます。

キーイベントには、受信者がキーイベントを処理するかどうかを示す特別なacceptフラグが含まれています。このフラグは、QEvent::KeyPressQEvent::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 が真なら、isAutoRepeat() が真になります。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 が真なら、isAutoRepeat() が真になります。count は、イベントに関与したキーの数です。

通常のキー・イベント・データに加えて、nativeScanCodenativeVirtualKeynativeModifiers も含まれる。この追加データは、ショートカット・システムによって使用され、どのショートカットをトリガーするかを決定します。

int QKeyEvent::count() const

このイベントに関係するキーの数を返す。text() が空でない場合、これは単に文字列の長さである。

Qt::WA_KeyCompressionも参照の こと。

bool QKeyEvent::isAutoRepeat() const

このイベントがオートリピートキーのものである場合はtrue を返し、初期キー押下のものである場合はfalse を返す。

イベントが複数キーの圧縮イベントであり、その一部がオートリピートによるものである場合、この関数は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 キーを同時に押し、片方を離すと、ユーザはこの関数を混乱させることができる。

QGuiApplication::keyboardModifiers()も参照のこと

quint32 QKeyEvent::nativeModifiers() const

キーイベントのネイティブ修飾子を返す。キーイベントにこのデータが含まれていない場合は0が返される。

注: キー・イベントに拡張情報が含まれていても、ネイティブ修飾子は0かもしれない。

quint32 QKeyEvent::nativeScanCode() const

キーイベントのネイティブスキャンコードを返す。キー・イベントにこのデータが含まれていない場合、0 が返される。

注意: キー・イベントに拡張情報が含まれていても、ネイティブ・スキャン・コードは0かもしれない。

quint32 QKeyEvent::nativeVirtualKey() const

key イベントのネイティブ仮想キーまたは key sym を返します。key イベントがこのデータを含まない場合、0 が返される。

注意: キーイベントに拡張情報が含まれていても、ネイティブ仮想キーは 0 かもしれません。

QString QKeyEvent::text() const

このキーが生成した Unicode テキストを返します。

テ キ ス ト は、 Unicode コ ー ド ポ イ ン ト の印字可能範囲に限 ら れ る も のではあ り ません。 制御キ ャ ラ ク タ や、QChar::Other_PrivateUse を含む他の Unicode カ テ ゴ リ のキ ャ ラ ク タ を含む こ と も で き ます。

テ キ ス ト は、 た と え ば Shift ・ Control ・ Alt ・ Meta の よ う な修飾キーが押 さ れてい る と き は空にな る こ と も あ り ます (プ ラ ッ ト フ ォームによ っ て異な り ます)。key() 関数は常に有効な値を返します。

Qt::WA_KeyCompressionも参照

© 2025 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.