Spec-Zone.ru › Qt 5.12

Класс QKeyEvent

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

Заголовок: #include <QKeyEvent>
qmake: QT += gui
Наследует: QInputEvent
  • Список всех членов, включая унаследованные

Открытые функции

QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1)
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)
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
  • 2 открытых функции, унаследованные от QInputEvent
  • 6 открытых функций, унаследованные от QEvent

Защищенные переменные

ushort autor
ushort c
int k
quint32 nModifiers
quint32 nScanCode
quint32 nVirtualKey
QString txt

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QEvent
  • 1 статический открытый член, унаследованный от QEvent

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

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

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

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

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

int QKeyEvent::count() const

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

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

bool QKeyEvent::isAutoRepeat() const

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

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

int QKeyEvent::key() const

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

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

Значение 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

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

END_OF_DOCUMENT_MARKER

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

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

quint32 QKeyEvent::nativeModifiers() const

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

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

Функция была введена в Qt 4.2.

quint32 QKeyEvent::nativeScanCode() const

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

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

Примечание: В Mac OS/X эта функция бесполезна, так как нет способа получить код сканирования из Carbon или Cocoa. Функция всегда возвращает 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.12/qkeyevent.html

Spec-Zone.ru

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