QKeyEvent 類描述鍵事件。 更多...
| 頭: | #include <QKeyEvent> |
| qmake: | QT += gui |
| 繼承: | QInputEvent |
| QKeyEvent (QEvent::Type type , int key , Qt::KeyboardModifiers modifiers , quint32 nativeScanCode , quint32 nativeVirtualKey , quint32 nativeModifiers , const QString & text = QString(), bool autorep = false, ushort count = 1) | |
| QKeyEvent (QEvent::Type type , int key , Qt::KeyboardModifiers modifiers , const QString & text = QString(), bool autorep = false, ushort count = 1) | |
| int | count () const |
| bool | isAutoRepeat () const |
| int | key () const |
| bool | matches (QKeySequence::StandardKey key ) const |
| Qt::KeyboardModifiers | modifiers () const |
| quint32 | nativeModifiers () const |
| quint32 | nativeScanCode () const |
| quint32 | nativeVirtualKey () const |
| QString | text () const |
鍵事件會被發送給具有鍵盤輸入聚焦的 Widget,當按下 (或釋放) 按鍵時。
鍵事件包含指示接收者,將是否處理鍵事件的特殊接受標誌。默認情況下,有設置此標誌對於 QEvent::KeyPress and QEvent::KeyRelease ,所以,不需要調用 accept () 當鍵事件活動時。對於 QEvent::ShortcutOverride 接收者需要明確接受事件,以觸發覆蓋。調用 ignore () 在鍵事件,會將它傳播給父級 Widget。事件在父級 Widget 鏈上傳播,直到小部件接受它 (或事件過濾器消耗掉它)。
The QWidget::setEnabled () 函數可用於啓用 (或禁用) 小部件的鼠標事件和鍵盤事件。
事件處理程序 QWidget::keyPressEvent (), QWidget::keyReleaseEvent (), QGraphicsItem::keyPressEvent () 和 QGraphicsItem::keyReleaseEvent () 接收鍵事件。
另請參閱 QFocusEvent and QWidget::grabKeyboard ().
構造鍵事件對象。
The type 參數必須是 QEvent::KeyPress , QEvent::KeyRelease ,或 QEvent::ShortcutOverride .
Int key 是代碼對於 Qt::Key 是事件循環應監聽的。若 key 為 0,事件不是已知按鍵的結果;例如,它可能是閤成序列 (或鍵盤宏) 的結果。 modifiers 保持鍵盤修飾符,和給定 text 是按鍵生成 Unicode 文本。若 autorep 為 True, isAutoRepeat () 將為 true。 count 是事件涉及的按鍵數。
除正常鍵事件數據外,還包含 nativeScanCode , nativeVirtualKey and nativeModifiers 。此額外數據用於快捷方式係統,以確定要觸發的快捷方式。
構造鍵事件對象。
The type 參數必須是 QEvent::KeyPress , QEvent::KeyRelease ,或 QEvent::ShortcutOverride .
Int key 是代碼對於 Qt::Key 是事件循環應監聽的。若 key 為 0,事件不是已知按鍵的結果;例如,它可能是閤成序列 (或鍵盤宏) 的結果。 modifiers 保持鍵盤修飾符,和給定 text 是按鍵生成 Unicode 文本。若 autorep 為 True, isAutoRepeat () 將為 true。 count 是事件涉及的按鍵數。
返迴此事件涉及的按鍵數。若 text () 不為空,這就是字符串的長度。
另請參閱 Qt::WA_KeyCompression .
返迴
true
若此事件來自自動重復鍵;返迴
false
若它來自初始鍵按下。
注意,若事件是部分由於自動重復導緻的多鍵壓縮事件,此函數返迴 true 或 false 不確定。
返迴按下 (或釋放) 的鍵碼。
見 Qt::Key 瞭解鍵盤代碼的列錶。這些代碼獨立於底層窗口係統。注意,此函數不區分大寫和非大寫字母,使用 text () 函數 (返迴鍵生成的 Unicode 文本) 為此目的。
值為 0 或 Qt::Key_unknown 意味著事件不是已知按鍵的結果;例如,它可能是閤成序列、鍵盤宏、或由於鍵事件壓縮的結果。
另請參閱 Qt::WA_KeyCompression .
返迴
true
若鍵事件匹配給定標準
key
;否則返迴
false
.
該函數在 Qt 4.2 引入。
返迴事件發生後立即存在的鍵盤修飾符標誌。
警告: 無法始終信任此函數。用戶可能混淆,通過按下兩 Shift 鍵 (同時) 然後釋放其中之一,例如。
另請參閱 QGuiApplication::keyboardModifiers ().
返迴鍵事件的本機修飾符。若鍵事件不包含此數據,返迴 0。
注意:本機修飾符可能為 0,即使鍵事件包含擴展信息。
該函數在 Qt 4.2 引入。
返迴鍵事件的本機掃描代碼。若鍵事件不包含此數據,返迴 0。
注意:本機掃描代碼可能為 0,即使鍵事件包含擴展信息。
Note: On macOS, this function is not useful, because there is no way to get the scan code from the system APIs. The function always returns 1 (or 0 in the case explained above).
該函數在 Qt 4.2 引入。
返迴本機虛擬鍵,或鍵事件的鍵符號。若鍵事件不包含此數據,返迴 0。
注意:本機虛擬鍵可能為 0, 即使鍵事件包含擴展信息。
該函數在 Qt 4.2 引入。
返迴此鍵生成的 Unicode 文本。
返迴值因平颱而異,當按下譬如 Shift、Control、Alt 及 Meta 修飾符鍵時,且可能返迴空字符串。
注意: key () 將始終返迴有效值,獨立於修飾符鍵。
另請參閱 Qt::WA_KeyCompression .