QKeyEvent 类

QKeyEvent class describes a key event. 更多...

头: #include <QKeyEvent>
qmake: QT += gui
继承: QInputEvent

公共函数

QKeyEvent (Type type , int key , Qt::KeyboardModifiers modifiers , const QString & text = QString(), bool autorep = false, ushort count = 1)
QKeyEvent (Type type , int key , Qt::KeyboardModifiers modifiers , quint32 nativeScanCode , quint32 nativeVirtualKey , quint32 nativeModifiers , 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

额外继承成员

详细描述

QKeyEvent class describes a key event.

Key events are sent to the widget with keyboard input focus when keys are pressed or released.

A key event contains a special accept flag that indicates whether the receiver will handle the key event. This flag is set by default for QEvent::KeyPress and QEvent::KeyRelease , so there is no need to call accept () when acting on a key event. For QEvent::ShortcutOverride the receiver needs to explicitly accept the event to trigger the override. Calling ignore () on a key event will propagate it to the parent widget. The event is propagated up the parent widget chain until a widget accepts it or an event filter consumes it.

QWidget::setEnabled () 函数可用于启用 (或禁用) 小部件的鼠标事件和键盘事件。

事件处理程序 QWidget::keyPressEvent (), QWidget::keyReleaseEvent (), QGraphicsItem::keyPressEvent () 和 QGraphicsItem::keyReleaseEvent () 接收键事件。

另请参阅 QFocusEvent and QWidget::grabKeyboard ().

成员函数文档编制

QKeyEvent:: QKeyEvent ( Type type , int key , Qt::KeyboardModifiers modifiers , const QString & text = QString(), bool autorep = false, ushort count = 1)

构造键事件对象。

type 参数必须是 QEvent::KeyPress , QEvent::KeyRelease ,或 QEvent::ShortcutOverride .

Int key is the code for the Qt::Key that the event loop should listen for. If key is 0, the event is not a result of a known key; for example, it may be the result of a compose sequence or keyboard macro. The modifiers holds the keyboard modifiers, and the given text is the Unicode text that the key generated. If autorep is true, isAutoRepeat () will be true. count is the number of keys involved in the event.

QKeyEvent:: QKeyEvent ( Type type , int key , Qt::KeyboardModifiers modifiers , quint32 nativeScanCode , quint32 nativeVirtualKey , quint32 nativeModifiers , const QString & text = QString(), bool autorep = false, ushort count = 1)

构造键事件对象。

type 参数必须是 QEvent::KeyPress , QEvent::KeyRelease ,或 QEvent::ShortcutOverride .

Int key is the code for the Qt::Key that the event loop should listen for. If key is 0, the event is not a result of a known key; for example, it may be the result of a compose sequence or keyboard macro. The modifiers holds the keyboard modifiers, and the given text is the Unicode text that the key generated. If autorep is true, isAutoRepeat () will be true. count is the number of keys involved in the event.

In addition to the normal key event data, also contains nativeScanCode , nativeVirtualKey and nativeModifiers . This extra data is used by the shortcut system, to determine which shortcuts to trigger.

int QKeyEvent:: count () const

Returns the number of keys involved in this event. If text () is not empty, this is simply the length of the string.

另请参阅 Qt::WA_KeyCompression .

bool QKeyEvent:: isAutoRepeat () const

返回 true if this event comes from an auto-repeating key; returns false if it comes from an initial key press.

Note that if the event is a multiple-key compressed event that is partly due to auto-repeat, this function could return either true or false indeterminately.

int QKeyEvent:: key () const

Returns the code of the key that was pressed or released.

Qt::Key for the list of keyboard codes. These codes are independent of the underlying window system. Note that this function does not distinguish between capital and non-capital letters, use the text () function (returning the Unicode text the key generated) for this purpose.

A value of either 0 or Qt::Key_unknown means that the event is not the result of a known key; for example, it may be the result of a compose sequence, a keyboard macro, or due to key event compression.

另请参阅 Qt::WA_KeyCompression .

bool QKeyEvent:: 匹配 ( QKeySequence::StandardKey key ) const

返回 true 若键事件匹配给定标准 key ;否则返回 false .

该函数在 Qt 4.2 引入。

Qt::KeyboardModifiers QKeyEvent:: modifiers () const

返回事件发生后立即存在的键盘修饰符标志。

警告: 此函数不能始终被信任。用户能混淆它,通过按下两 Shift 键 (同时) 然后释放其中之一,例如。

另请参阅 QGuiApplication::keyboardModifiers ().

quint32 QKeyEvent:: nativeModifiers () const

Returns the native modifiers of a key event. If the key event does not contain this data 0 is returned.

Note: The native modifiers may be 0, even if the key event contains extended information.

该函数在 Qt 4.2 引入。

quint32 QKeyEvent:: nativeScanCode () const

返回键事件的本机扫描代码。若键事件不包含此数据,返回 0。

注意:本机扫描代码可能为 0,即使键事件包含扩展信息。

Note: On Mac OS/X, this function is not useful, because there is no way to get the scan code from Carbon or Cocoa. The function always returns 1 (or 0 in the case explained above).

该函数在 Qt 4.2 引入。

quint32 QKeyEvent:: nativeVirtualKey () const

Returns the native virtual key, or key sym of the key event. If the key event does not contain this data 0 is returned.

Note: The native virtual key may be 0, even if the key event contains extended information.

该函数在 Qt 4.2 引入。

QString QKeyEvent:: text () const

返回此键生成的 Unicode 文本。

Return values when modifier keys such as Shift, Control, Alt, and Meta are pressed differ among platforms and could return an empty string.

注意: key () will always return a valid value, independent of modifier keys.

另请参阅 Qt::WA_KeyCompression .