Класс 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().
END_OF_DOCUMENT_MARKERДокументация свойств
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.14/qinputmethod.html