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 はイベント・クラスの一部です。
パブリック関数
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::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 が真の場合、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 は、イベントに関与したキーの数です。
通常のキー・イベント・データに加えて、nativeScanCode 、nativeVirtualKey 、nativeModifiers も含まれる。この追加データは、どのショートカットをトリガーするかを決定するために、ショートカット・システムによって使用されます。
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 の値は、そのイベントが既知のキーの結果ではないことを意味します。例えば、コンポーズシーケンスやキーボードマクロの結果であったり、キーイベントの圧縮によるものであったりします。
[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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。