Класс QInputMethod
Класс QInputMethod предоставляет доступ к активному методу ввода текста. Подробнее...
| Заголовок: | #include <QInputMethod> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| 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, const QVariant &argument) |
Подробное описание
Класс QInputMethod используется редакторами текста для интеграции с платформными методами ввода текста, а также чаще приложениями-представлениями для запроса различной информации, связанной с методами ввода текста, такой как видимость виртуальной клавиатуры и размеры клавиатуры.
Qt Quick также предоставляет доступ к QInputMethod в QML через глобальный объект Qt в качестве свойства Qt.inputMethod.
Документация по типам членов
Перечисление QInputMethod::Action
Указывает тип действия, выполненного пользователем.
| Постоянная | Значение | Описание |
|---|---|---|
QInputMethod::Click |
0 |
Обычное нажатие/тап |
QInputMethod::ContextMenu |
1 |
Нажатие/тап контекстного меню (например, правой кнопкой мыши или удерживанием нажатия) |
См. также invokeAction().
END_OF_DOCUMENT_MARKERДокументация свойств
[read-only] anchorRectangle : const QRectF
Прямоугольник привязки элемента ввода в координатах окна.
Прямоугольник привязки часто используется различными элементами редактирования текста, например, всплывающими подсказками предсказания текста, для слежения за выделенным текстом.
Функции доступа:
| QRectF | anchorRectangle() const |
Сигнал уведомления:
| void | anchorRectangleChanged() |
[read-only] animating : const bool
Истина, когда виртуальная клавиатура открывается или закрывается.
Animating ложно, когда клавиатура полностью открыта или закрыта. Когда animating является true и visibility является true, клавиатура открывается. Когда animating является true и visibility ложно, клавиатура закрывается.
Функции доступа:
| bool | isAnimating() const |
Сигнал уведомления:
| void | animatingChanged() |
[read-only] cursorRectangle : const QRectF
Прямоугольник курсора элемента ввода в координатах окна.
Прямоугольник курсора часто используется различными элементами редактирования текста, например, всплывающими подсказками предсказания текста, для слежения за вводимым текстом.
Функции доступа:
| QRectF | cursorRectangle() const |
Сигнал уведомления:
| void | cursorRectangleChanged() |
[read-only] inputDirection : const Qt::LayoutDirection
Текущее направление ввода.
Функции доступа:
| Qt::LayoutDirection | inputDirection() const |
Сигнал уведомления:
| void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
[read-only] inputItemClipRectangle : const QRectF
Обрезанный прямоугольник элемента ввода в координатах окна.
Обрезанный прямоугольник элемента ввода часто используется различными методами ввода, чтобы определить доступное пространство на экране для метода ввода (например, виртуальная клавиатура).
Функции доступа:
| QRectF | inputItemClipRectangle() const |
Сигнал уведомления:
| void | inputItemClipRectangleChanged() |
[read-only] keyboardRectangle : const QRectF
Геометрия виртуальной клавиатуры в координатах окна.
Может быть пустым прямоугольником, если невозможно определить геометрию клавиатуры. Это случается для плавающей клавиатуры на Android.
Функции доступа:
| QRectF | keyboardRectangle() const |
Сигнал уведомления:
| void | keyboardRectangleChanged() |
[read-only] locale : const QLocale
Текущий локаль ввода.
Функции доступа:
| QLocale | locale() const |
Сигнал уведомления:
| void | localeChanged() |
[read-only] 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 для удобства.
[since 5.1] QRectF QInputMethod::inputItemRectangle() const
Возвращает геометрию элемента ввода в координатах элемента ввода.
Эта функция была введена в Qt 5.1.
См. такжеsetInputItemRectangle().
QTransform QInputMethod::inputItemTransform() const
Возвращает преобразование от координат элемента ввода к координатам окна.
См. такжеsetInputItemTransform().
[static] QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)
Отправляет query текущему объекту фокуса с параметрами argument и возвращает результат.
[since 5.1] 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-6.0/qinputmethod.html