QKeyEvent Class

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

Header: #include <QKeyEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: 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::KeyPressQEvent::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::KeyPressQEvent::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

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

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

QString QKeyEvent::text() const

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

テキストは、Unicode コードポイントの印刷可能範囲に限定されず、制御文字や、QChar::Other_PrivateUse を含む他の Unicode カテゴリからの文字を含むことができます。

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

Qt::WA_KeyCompressionも参照してください

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。