Spec-Zone.ru › Qt 5.6

Класс QKeyEvent

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

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

Публичные функции

QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1)
QKeyEvent(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

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

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

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

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

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

Событие нажатия клавиши содержит специальный флаг приема, который указывает, будет ли приемник обрабатывать событие нажатия клавиши. Этот флаг по умолчанию устанавливается для QEvent::KeyPress и QEvent::KeyRelease, поэтому вызов accept() при обработке события нажатия клавиши не требуется. Для QEvent::ShortcutOverride приемник должен явно принять событие, чтобы запустить переопределение. Вызов ignore() для события нажатия клавиши распространит его на родительский виджет. Событие распространяется вверх по цепочке родительских виджетов до тех пор, пока какой-либо виджет не примет его или какой-либо фильтр событий не поглотит его.

Функция QWidget::setEnable() может использоваться для включения или выключения событий мыши и клавиатуры для виджета.

Обработчики событий QWidget::keyPressEvent(), QWidget::keyReleaseEvent(), QGraphicsItem::keyPressEvent() и QGraphicsItem::keyReleaseEvent() получают события нажатия клавиш.

См. также QFocusEvent и QWidget::grabKeyboard().

Документация по функциям-членам

QKeyEvent::QKeyEvent(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(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() (возвращающую текст Юникода, сгенерированный клавишей).

Значение 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/archives/qt-5.6/qkeyevent.html

Spec-Zone.ru

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