Spec-Zone.ru › Qt 5.9

Класс QKeyEvent

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

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

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

QKeyEvent(Тип type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1)
QKeyEvent(Тип 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::setEnabled() может использоваться для включения или отключения событий мыши и клавиатуры для виджета.

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

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

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

QKeyEvent::QKeyEvent(Тип 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 — количество задействованных клавиш.

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

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.9/qkeyevent.html

Spec-Zone.ru

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