Spec-Zone.ru › Qt

Класс QKeyEvent

Класс QKeyEvent описывает событие нажатия клавиши. Подробнее...

Заголовок: #include <QKeyEvent>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
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, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())
QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)
int count() const
bool isAutoRepeat() const
int key() const
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

Подробное описание

События нажатия клавиш отправляются виджету с фокусом на клавиатуре при нажатии или отпускании клавиш.

Событие нажатия клавиши содержит специальный флаг подтверждения, указывающий, будет ли обработчик обрабатывать событие нажатия клавиши. Этот флаг по умолчанию установлен для 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, 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.

Целое число key — код Qt::Key, на который должен реагировать цикл событий. Если key равно 0, событие не является результатом нажатия известной клавиши; например, оно может быть результатом последовательности действий или макроса клавиатуры. modifiers содержит модификаторы клавиатуры, а заданный text — текстовое представление символа, сгенерированного клавишей. Если autorep равно true, isAutoRepeat() будет равно true. count — количество клавиш, участвующих в событии.

В дополнение к стандартным данным события нажатия клавиши также содержатся nativeScanCode, nativeVirtualKey и nativeModifiers. Эти дополнительные данные используются системой ярлыков для определения, какие ярлыки следует активировать.

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.

Целое число key — код Qt::Key, на который должен реагировать цикл событий. Если key равно 0, событие не является результатом нажатия известной клавиши; например, оно может быть результатом последовательности действий или макроса клавиатуры. modifiers содержит модификаторы клавиатуры, а заданный text — текстовое представление символа, сгенерированного клавишей. Если autorep равно true, isAutoRepeat() будет равно true. count — количество клавиш, участвующих в событии.

int QKeyEvent::count() const

Возвращает количество клавиш, участвующих в данном событии. Если text() не пустая строка, это просто длина строки.

См. также Qt::WA_KeyCompression.

bool QKeyEvent::isAutoRepeat() const

Возвращает true если это событие происходит от повторяющейся клавиши; возвращает false если это событие от первоначального нажатия клавиши.

Обратите внимание, что если событие является сжатым событием с несколькими клавишами, частично обусловленным автоповтором, эта функция может вернуть как true, так и false неопределённо.

int QKeyEvent::key() const

Возвращает код нажатой или отпущенной клавиши.

См. Qt::Key для списка кодов клавиш. Эти коды независимы от базовой системы окон. Обратите внимание, что эта функция не различает заглавные и строчные буквы, для этого используйте функцию text() (возвращающую текстовое представление символа, сгенерированного клавишей).

Значение 0 или Qt::Key_unknown означает, что событие не является результатом нажатия известной клавиши; например, оно может быть результатом последовательности действий, макроса клавиатуры или сжатия событий нажатия клавиш.

См. также Qt::WA_KeyCompression.

QKeyCombination QKeyEvent::keyCombination() const

Возвращает объект QKeyCombination, содержащий как key(), так и modifiers(), переданные в этом событии.

Эта функция была добавлена в Qt 6.0.

bool QKeyEvent::matches(QKeySequence::StandardKey key) const

Возвращает true если событие нажатия клавиши соответствует заданной стандартной key; в противном случае возвращает 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

Возвращает текст Юникод, сгенерированный данной клавишей.

Значения возврата при нажатии клавиш модификаторов, таких как Shift, Control, Alt и Meta, различаются между платформами и могут возвращать пустую строку.

Примечание: key() всегда будет возвращать действительное значение, независимо от клавиш модификаторов.

См. также Qt::WA_KeyCompression.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qkeyevent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API