![]() |
Qt 6.x
The Qt SDK
|
The QKeyEvent class describes a key event. More...
#include <qevent.h>
Public Member Functions | |
QKeyEvent (Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text=QString(), bool autorep=false, quint16 count=1) | |
Constructs a key event object. | |
QKeyEvent (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()) | |
Constructs a key event object. | |
int | key () const |
Returns the code of the key that was pressed or released. | |
Qt::KeyboardModifiers | modifiers () const |
Returns the keyboard modifier flags that existed immediately after the event occurred. | |
QKeyCombination | keyCombination () const |
Returns a QKeyCombination object containing both the key() and the modifiers() carried by this event. | |
QString | text () const |
Returns the Unicode text that this key generated. | |
bool | isAutoRepeat () const |
Returns true if this event comes from an auto-repeating key; returns false if it comes from an initial key press. | |
int | count () const |
Returns the number of keys involved in this event. | |
quint32 | nativeScanCode () const |
quint32 | nativeVirtualKey () const |
quint32 | nativeModifiers () const |
![]() | |
QInputEvent (Type type, const QInputDevice *m_dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier) | |
const QInputDevice * | device () const |
QInputDevice::DeviceType | deviceType () const |
Returns the type of device that generated the event. | |
Qt::KeyboardModifiers | modifiers () const |
Returns the keyboard modifier flags that existed immediately before the event occurred. | |
void | setModifiers (Qt::KeyboardModifiers modifiers) |
quint64 | timestamp () const |
Returns the window system's timestamp for this event. | |
virtual void | setTimestamp (quint64 timestamp) |
![]() | |
QEvent (Type type) | |
Constructs an event object of type type. | |
virtual | ~QEvent () |
Destroys the event. | |
Type | type () const |
Returns the event type. | |
bool | spontaneous () const |
Returns true if the event originated outside the application (a system event); otherwise returns false . | |
virtual void | setAccepted (bool accepted) |
bool | isAccepted () const |
void | accept () |
Sets the accept flag of the event object, the equivalent of calling setAccepted(true). | |
void | ignore () |
Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false). | |
bool | isInputEvent () const noexcept |
bool | isPointerEvent () const noexcept |
bool | isSinglePointEvent () const noexcept |
virtual QEvent * | clone () const |
Creates and returns an identical copy of this event. | |
Protected Attributes | |
QString | m_text |
int | m_key |
quint32 | m_scanCode |
quint32 | m_virtualKey |
quint32 | m_nativeModifiers |
quint16 | m_count: 15 |
quint16 | m_autoRepeat: 1 |
![]() | |
const QInputDevice * | m_dev = nullptr |
quint64 | m_timeStamp = 0 |
Qt::KeyboardModifiers | m_modState = Qt::NoModifier |
quint32 | m_reserved = 0 |
![]() | |
quint16 | t |
The QKeyEvent class describes a key event.
\inmodule QtGui
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.
The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
The event handlers QWidget::keyPressEvent(), QWidget::keyReleaseEvent(), QGraphicsItem::keyPressEvent() and QGraphicsItem::keyReleaseEvent() receive key events.
QKeyEvent::QKeyEvent | ( | Type | type, |
int | key, | ||
Qt::KeyboardModifiers | modifiers, | ||
const QString & | text = QString() , |
||
bool | autorep = false , |
||
quint16 | count = 1 |
||
) |
Constructs a key event object.
The type parameter must be QEvent::KeyPress, QEvent::KeyRelease, or 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.
Definition at line 1346 of file qevent.cpp.
References QEvent::ignore(), and QEvent::ShortcutOverride.
QKeyEvent::QKeyEvent | ( | 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() |
||
) |
Constructs a key event object.
The type parameter must be QEvent::KeyPress, QEvent::KeyRelease, or 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.
Definition at line 1374 of file qevent.cpp.
References QEvent::ignore(), and QEvent::ShortcutOverride.
|
inline |
Returns the number of keys involved in this event.
If text() is not empty, this is simply the length of the string.
Definition at line 444 of file qevent.h.
Referenced by QApplication::notify(), operator<<(), and QQuickKeyEvent::reset().
|
inline |
Returns 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.
Definition at line 443 of file qevent.h.
Referenced by QGroupBox::event(), QIBusPlatformInputContext::filterEvent(), QAbstractSlider::keyPressEvent(), QApplication::notify(), operator<<(), and QQuickKeyEvent::reset().
|
inline |
Returns the code of the key that was pressed or released.
See \l 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.
Definition at line 433 of file qevent.h.
Referenced by QWaylandKeyboardPrivate::checkAndRepairModifierState(), QItemDelegate::editorEvent(), QStyledItemDelegate::editorEvent(), QComboMenuDelegate::editorEvent(), QAbstractItemDelegatePrivate::editorEventFilter(), QMenu::event(), QMenuBar::event(), QSidebar::event(), QQuickTextInput::event(), MyWidget::event(), QGraphicsProxyWidget::event(), QGraphicsScene::event(), QGraphicsView::event(), QWidget::event(), QGroupBox::event(), QWhatsThisPrivate::eventFilter(), QMenuBar::eventFilter(), QBasicDrag::eventFilter(), QCompleter::eventFilter(), QtPrivate::QCalendarTextNavigator::eventFilter(), QComboBoxPrivateContainer::eventFilter(), MainWindow::eventFilter(), KeyPressEater::eventFilter(), QQuickTableView::eventFilter(), FilterObject::eventFilter(), QFontDialog::eventFilter(), QMdiArea::eventFilter(), QQuickComboBox::eventFilter(), QQuickMenuBar::eventFilter(), QIBusPlatformInputContext::filterEvent(), QQuickWidget::focusNextPrevChild(), QtPrivate::QCalendarDateValidator::handleKeyEvent(), QInputControl::isCommonTextEditShortcut(), QAbstractSlider::keyPressEvent(), QTextBrowser::keyPressEvent(), QQuickTextInput::keyPressEvent(), QMdiSubWindow::keyPressEvent(), QApplication::notify(), operator<<(), QWidgetLineControl::processShortcutOverrideEvent(), QQuickKeyEvent::reset(), and QGraphicsItem::sceneEvent().
|
inline |
Returns a QKeyCombination object containing both the key() and the modifiers() carried by this event.
Definition at line 438 of file qevent.h.
Referenced by QKeySequenceEdit::event().
Qt::KeyboardModifiers QKeyEvent::modifiers | ( | ) | const |
Returns the keyboard modifier flags that existed immediately after the event occurred.
Definition at line 1465 of file qevent.cpp.
References Qt::AltModifier, Qt::ControlModifier, Qt::GroupSwitchModifier, Qt::Key_Alt, Qt::Key_AltGr, Qt::Key_Control, Qt::Key_Meta, Qt::Key_Shift, Qt::MetaModifier, QInputEvent::modifiers(), and Qt::ShiftModifier.
Referenced by QWaylandKeyboardPrivate::checkAndRepairModifierState(), QQuickTextInput::event(), QGraphicsProxyWidget::event(), QGraphicsScene::event(), QWidget::event(), QWhatsThisPrivate::eventFilter(), QMenuBar::eventFilter(), QBasicDrag::eventFilter(), QCompleter::eventFilter(), QComboBoxPrivateContainer::eventFilter(), QMdiArea::eventFilter(), QQuickMenuBar::eventFilter(), QIBusPlatformInputContext::filterEvent(), QInputControl::isCommonTextEditShortcut(), QTextBrowser::keyPressEvent(), QQuickTextInput::keyPressEvent(), QMdiSubWindow::keyPressEvent(), QApplication::notify(), operator<<(), QWidgetLineControl::processShortcutOverrideEvent(), QQuickKeyEvent::reset(), and QGraphicsItem::sceneEvent().
|
inline |
Returns the native modifiers of a key event. If the key event does not contain this data 0 is returned.
Definition at line 448 of file qevent.h.
Referenced by QIBusPlatformInputContext::filterEvent().
|
inline |
Returns the native scan code of the key event. If the key event does not contain this data 0 is returned.
Definition at line 446 of file qevent.h.
Referenced by QIBusPlatformInputContext::filterEvent(), and QQuickKeyEvent::reset().
|
inline |
Returns the native virtual key, or key sym of the key event. If the key event does not contain this data 0 is returned.
Definition at line 447 of file qevent.h.
Referenced by QIBusPlatformInputContext::filterEvent().
|
inline |
Returns the Unicode text that this key generated.
The text is not limited to the printable range of Unicode code points, and may include control characters or characters from other Unicode categories, including QChar::Other_PrivateUse.
The text may also be empty, for example when modifier keys such as Shift, Control, Alt, and Meta are pressed (depending on the platform). The key() function will always return a valid value.
Definition at line 442 of file qevent.h.
Referenced by QtPrivate::QCalendarTextNavigator::eventFilter(), QIBusPlatformInputContext::filterEvent(), QDateTimeEditPrivate::isSeparatorKey(), QApplication::notify(), operator<<(), and QQuickKeyEvent::reset().