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