Класс QInputMethod
Класс QInputMethod предоставляет доступ к активному методу ввода текста. Подробнее...
| Заголовок: | #include <QInputMethod> |
| qmake: | QT += gui |
| Наследует: | QObject |
Типы публичного доступа
| Перечисление | Action { Click, ContextMenu } |
Свойства
|
|
Функции публичного доступа
| QRectF | anchorRectangle() const |
| QRectF | cursorRectangle() const |
| Qt::LayoutDirection | inputDirection() const |
| QRectF | inputItemClipRectangle() const |
| QRectF | inputItemRectangle() const |
| QTransform | inputItemTransform() const |
| bool | isAnimating() const |
| bool | isVisible() const |
| QRectF | keyboardRectangle() const |
| QLocale | locale() const |
| void | setInputItemRectangle(const QRectF &rect) |
| void | setInputItemTransform(const QTransform &transform) |
| void | setVisible(bool visible) |
Слот публичного доступа
| void | commit() |
| void | hide() |
| void | invokeAction(QInputMethod::Action a, int cursorPosition) |
| void | reset() |
| void | show() |
| void | update(Qt::InputMethodQueries queries) |
Сигналы
| void | anchorRectangleChanged() |
| void | animatingChanged() |
| void | cursorRectangleChanged() |
| void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
| void | inputItemClipRectangleChanged() |
| void | keyboardRectangleChanged() |
| void | localeChanged() |
| void | visibleChanged() |
Статические члены публичного доступа
| QVariant | queryFocusObject(Qt::InputMethodQuery query, QVariant argument) |
Подробное описание
QInputMethod используется редакторами текста для интеграции с платформными методами ввода текста, а также чаще приложениями-видами для запроса различной информации, связанной с методами ввода текста, например, видимость виртуальной клавиатуры и размеры клавиатуры.
Qt Quick также предоставляет доступ к QInputMethod в QML через глобальный объект Qt в качестве свойства Qt.inputMethod.
Документация по типам членов
Перечисление QInputMethod::Action
Указывает вид действия, выполненного пользователем.
| Постоянная | Значение | Описание |
|---|---|---|
QInputMethod::Click |
0 |
Обычный щелчок/нажатие |
QInputMethod::ContextMenu |
1 |
Щелчок/нажатие контекстного меню (например, правой кнопкой мыши или нажатием и удержанием) |
См. такжеinvokeAction().
Документация по свойствам
anchorRectangle : const QRectF
Прямоугольник привязки элемента ввода в координатах окна.
Прямоугольник привязки часто используется различными элементами редактирования текста, такими как всплывающие подсказки предсказания текста, для отслеживания выделенного текста.
Функции доступа:
| QRectF | anchorRectangle() const |
Сигнал уведомления:
| void | anchorRectangleChanged() |
animating : const bool
Истина, когда виртуальная клавиатура открывается или закрывается.
Animating — ложь, когда клавиатура полностью открыта или закрыта. Когда animating — true и visibility — true, клавиатура открывается. Когда animating — true и visibility — ложь, клавиатура закрывается.
Функции доступа:
| bool | isAnimating() const |
Сигнал уведомления:
| void | animatingChanged() |
cursorRectangle : const QRectF
Прямоугольник курсора элемента ввода в координатах окна.
Прямоугольник курсора часто используется различными элементами редактирования текста, такими как всплывающие подсказки предсказания текста, для отслеживания набираемого текста.
Функции доступа:
| QRectF | cursorRectangle() const |
Сигнал уведомления:
| void | cursorRectangleChanged() |
inputDirection : const Qt::LayoutDirection
Текущее направление ввода.
Функции доступа:
| Qt::LayoutDirection | inputDirection() const |
Сигнал уведомления:
| void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
inputItemClipRectangle : const QRectF
Обрезанный прямоугольник элемента ввода в координатах окна.
Обрезанный прямоугольник элемента ввода часто используется различными методами ввода для определения доступной площади экрана для метода ввода (например, виртуальной клавиатуры).
Функции доступа:
| QRectF | inputItemClipRectangle() const |
Сигнал уведомления:
| void | inputItemClipRectangleChanged() |
keyboardRectangle : const QRectF
Геометрия виртуальной клавиатуры в координатах окна.
Может быть пустым прямоугольником, если невозможно определить геометрию клавиатуры. Это происходит, например, для плавающей клавиатуры на Android.
Функции доступа:
| QRectF | keyboardRectangle() const |
Сигнал уведомления:
| void | keyboardRectangleChanged() |
locale : const QLocale
Текущий локаль ввода.
Функции доступа:
| QLocale | locale() const |
Сигнал уведомления:
| void | localeChanged() |
visible : const bool
Видимость виртуальной клавиатуры на экране
Видимость метода ввода остается ложью для устройств без виртуальных клавиатур.
Функции доступа:
| bool | isVisible() const |
Сигнал уведомления:
| void | visibleChanged() |
Документация по членам-функциям
[slot] void QInputMethod::commit()
Подтверждает слово, которое пользователь в данный момент вводит, в редакторе. Функция в основном необходима для методов ввода с функциями предсказания текста и для методов, где сценарий, используемый для набора символов, отличается от сценария, который фактически добавляется в редактор. Любой вид действия, который прерывает ввод текста, должен очистить состояние ввода, вызвав функцию commit(), например, при перемещении курсора в другое место.
[slot] void QInputMethod::hide()
Запрашивает закрытие виртуальной клавиатуры.
Обычно приложениям не нужно вызывать эту функцию, клавиатура должна автоматически закрываться, когда редактор текста теряет фокус, например, при закрытии родительского представления.
[slot] void QInputMethod::invokeAction(QInputMethod::Action a, int cursorPosition)
Вызывается элементом ввода, когда слово, которое в данный момент вводится, нажимается пользователем, как указано действием a и заданной позицией cursorPosition. Методы ввода часто используют эту информацию для предложения больше слов пользователю.
[slot] void QInputMethod::reset()
Сбрасывает состояние метода ввода. Например, редактор текста обычно вызывает этот метод перед вставкой текста, чтобы подготовить виджет к приему текста.
Метод ввода сбрасывается автоматически при изменении фокусированного редактора.
[slot] void QInputMethod::show()
Запрашивает открытие виртуальной клавиатуры. Если платформа не предоставляет виртуальную клавиатуру, видимость остается ложной.
Обычно приложениям не нужно вызывать эту функцию, клавиатура должна автоматически открываться, когда редактор текста получает фокус.
[slot] void QInputMethod::update(Qt::InputMethodQueries queries)
Вызывается элементом ввода, чтобы проинформировать методы ввода платформы, когда произошли изменения состояния атрибутов запроса метода ввода редактора. При вызове функции параметр queries должен использоваться для указания того, что изменилось, чтобы метод ввода мог сделать запросы для интересующих его атрибутов QInputMethodQueryEvent.
В частности, важно вызывать update всякий раз, когда изменяется позиция курсора, так как это часто приводит к изменению других атрибутов запроса, таких как окружающий текст и выделение текста. Атрибуты, которые часто изменяются вместе с позицией курсора, сгруппированы в значении Qt::ImQueryInput для удобства.
QRectF QInputMethod::inputItemRectangle() const
Возвращает геометрию элемента ввода в координатах элемента ввода.
Эта функция была добавлена в Qt 5.1.
См. также setInputItemRectangle().
QTransform QInputMethod::inputItemTransform() const
Возвращает преобразование из координат элемента ввода в координаты окна.
См. также setInputItemTransform().
[static] QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, QVariant argument)
Отправляет query текущему объекту фокуса с параметрами argument и возвращает результат.
void QInputMethod::setInputItemRectangle(const QRectF &rect)
Устанавливает геометрию элемента ввода в rect в координатах элемента ввода. Это необходимо обновлять фокусированному окну, например, QQuickCanvas, всякий раз, когда элемент перемещается внутри сцены или меняется фокус.
Эта функция была добавлена в Qt 5.1.
См. также inputItemRectangle().
void QInputMethod::setInputItemTransform(const QTransform &transform)
Устанавливает преобразование из координат элементов ввода в координаты окна в transform. Преобразование элемента необходимо обновлять фокусированным окном, например, QQuickCanvas, всякий раз, когда элемент перемещается внутри сцены.
См. также inputItemTransform().
void QInputMethod::setVisible(bool visible)
Управляет видимостью клавиатуры. Эквивалентно вызову show() (если visible равно true) или hide() (если visible равно false).
См. также isVisible(), show() и hide().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qinputmethod.html