Spec-Zone.ru › Qt 5.11

Класс 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
  • 7 открытых функций, унаследованные от QEvent

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

  • 1 свойство, унаследованное от QEvent
  • 1 открытая переменная, унаследованная от QEvent
  • 1 статическая открытая функция, унаследованная от QEvent
  • 2 защищённые переменные, унаследованные от 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() (возвращающую текстовое представление кода Юникода, сгенерированное клавишей), для этой цели.

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

Spec-Zone.ru

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