Spec-Zone.ru › Qt 5.13

Класс 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 — Unicode-текст, сгенерированный клавишей. Если 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 — Unicode-текст, сгенерированный клавишей. Если 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() (возвращающую 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

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

Предупреждение: этой функции нельзя всегда доверять. Пользователь может сбить её с толку, например, одновременно нажав обе клавиши 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

Возвращает текстовое представление Юникода, сгенерированное этим ключом.

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

Spec-Zone.ru

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