Spec-Zone.ru › Qt 5.14

Класс QKeyEvent

Класс 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

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

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

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

Конструирует объект события нажатия клавиши.

Параметр 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, ushort 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.

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

Возвращает true если событие нажатия клавиши соответствует заданной стандартной key; в противном случае возвращает false.

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

Qt::KeyboardModifiers QKeyEvent::modifiers() const

Возвращает флаги модификаторов клавиатуры, которые существовали непосредственно после возникновения события.

Предупреждение: Эту функцию нельзя всегда доверять. Пользователь может спутать ее, например, одновременно нажав обе клавиши Shift и отпустив одну из них.

См. также QGuiApplication::keyboardModifiers().

quint32 QKeyEvent::nativeModifiers() const

Возвращает нативные модификаторы события нажатия клавиши. Если событие нажатия клавиши не содержит этих данных, возвращается 0.

Примечание: Нативные модификаторы могут быть 0, даже если событие нажатия клавиши содержит расширенную информацию.

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

quint32 QKeyEvent::nativeScanCode() const

Возвращает нативный код сканирования события нажатия клавиши. Если событие нажатия клавиши не содержит этих данных, возвращается 0.

Примечание: Нативный код сканирования может быть 0, даже если событие нажатия клавиши содержит расширенную информацию.

Примечание: В macOS эта функция бесполезна, так как нет возможности получить код сканирования из системных API. Функция всегда возвращает 1 (или 0 в случае, описанном выше).

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

quint32 QKeyEvent::nativeVirtualKey() const

Возвращает нативный виртуальный ключ или сим-ключ события нажатия клавиши. Если событие нажатия клавиши не содержит этих данных, возвращается 0.

Примечание: Нативный виртуальный ключ может быть 0, даже если событие нажатия клавиши содержит расширенную информацию.

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

QString QKeyEvent::text() const

Возвращает текстовое представление Unicode, сгенерированное нажатием этой клавиши.

Возвращаемые значения при нажатии клавиш модификаторов, таких как 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-5.14/qkeyevent.html

Spec-Zone.ru

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