Spec-Zone.ru › Qt 5.13

Тип QML TextArea

Отображает несколько строк редактируемого форматированного текста. Подробнее...

Оператор импорта: import QtQuick.Controls 1.4
С: Qt 5.1
Наследует:

ScrollView

  • Список всех членов, включая наследуемые

Свойства

  • activeFocusOnPress : bool
  • backgroundVisible : bool
  • baseUrl : url
  • canPaste : bool
  • canRedo : bool
  • canUndo : bool
  • contentHeight : real
  • contentWidth : real
  • cursorPosition : int
  • cursorRectangle : rect
  • effectiveHorizontalAlignment : перечисление
  • font : font
  • horizontalAlignment : перечисление
  • hoveredLink : string
  • inputMethodComposing : bool
  • inputMethodHints : перечисление
  • length : int
  • lineCount : int
  • menu : Component
  • readOnly : bool
  • selectByKeyboard : bool
  • selectByMouse : bool
  • selectedText : string
  • selectionEnd : int
  • selectionStart : int
  • tabChangesFocus : bool
  • text : string
  • textColor : color
  • textDocument : TextDocument
  • textFormat : перечисление
  • textMargin : real
  • verticalAlignment : перечисление
  • wrapMode : перечисление

Сигналы

  • editingFinished()
  • linkActivated(string)
  • linkHovered(string)

Методы

  • void append(string text)
  • void copy()
  • void cut()
  • void deselect()
  • string getFormattedText(int start, int end)
  • string getText(int start, int end)
  • void insert(int position, string text)
  • bool isRightToLeft(int start, int end)
  • void moveCursorSelection(int position, SelectionMode mode)
  • void paste()
  • int positionAt(int x, int y)
  • rectangle positionToRectangle(position)
  • void redo()
  • string remove(int start, int end)
  • void select(int start, int end)
  • void selectAll()
  • void selectWord()
  • void undo()

Подробное описание

Он может отображать как обычный, так и форматированный текст. Например:

TextArea {
    width: 240
    text:
        "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
        "sed do eiusmod tempor incididunt ut labore et dolore magna " +
        "aliqua. Ut enim ad minim veniam, quis nostrud exercitation " +
        "ullamco laboris nisi ut aliquip ex ea commodo cosnsequat. ";
}

Поддержка буфера обмена обеспечивается функциями cut(), copy() и paste(), а выделение может обрабатываться традиционным «мышиным» механизмом, установив selectByMouse, или полностью обрабатываться из QML путём изменения selectionStart и selectionEnd, или с помощью selectAll() или selectWord().

Вы можете переводить между позициями курсора (символы с начала документа) и точками пикселей, используя positionAt() и positionToRectangle().

Вы можете создать пользовательский вид для TextArea, назначив TextAreaStyle.

См. также TextField и TextEdit.

Документация по свойствам

activeFocusOnPress : bool

Определяет, должен ли TextEdit получить фокус при нажатии мыши. По умолчанию это значение равно true.

backgroundVisible : bool

Это свойство определяет, должен ли фон быть заполненным или нет.

Значение по умолчанию равно true.

baseUrl : url

Это свойство указывает базовый URL, используемый для разрешения относительных URL-адресов в тексте.

Значение по умолчанию — URL файла QML, инициализирующего элемент TextArea.

[только для чтения] canPaste : bool

Возвращает true, если TextArea доступен для записи, а содержимое буфера обмена подходит для вставки в TextArea.

[только для чтения] canRedo : bool

Возвращает true, если TextArea доступен для записи и есть отменённые операции, которые можно повторить.

[только для чтения] canUndo : bool

Возвращает true, если TextArea доступен для записи и есть предыдущие операции, которые можно отменить.

[только для чтения] contentHeight : real

Высота текстового содержимого.

Это свойство было введено в QtQuick.Controls 1.3.

[только для чтения] contentWidth : real

Ширина текстового содержимого.

Это свойство было введено в QtQuick.Controls 1.3.

cursorPosition : int

Позиция курсора в TextArea.

[только для чтения] cursorRectangle : прямоугольник

Прямоугольник, в котором отображается курсор текста в области текста.

Это свойство было введено в QtQuick.Controls 1.3.

[только для чтения] effectiveHorizontalAlignment : перечисление

Получает эффективное горизонтальное выравнивание текста внутри ширины элемента TextArea.

Для установки/получения значения по умолчанию для горизонтального выравнивания TextArea используйте свойство horizontalAlignment.

font : шрифт

Шрифт элемента TextArea.

horizontalAlignment : перечисление

Устанавливает выравнивание текста внутри ширины элемента TextArea.

По умолчанию, горизонтальное выравнивание текста соответствует естественному выравниванию, например, текст, который читается слева направо, будет выровнен слева.

Допустимые значения для horizontalAlignment:

  • TextEdit.AlignLeft (По умолчанию)
  • TextEdit.AlignRight
  • TextEdit.AlignHCenter

При использовании присоединенного свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражаться. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextArea используйте свойство только для чтения effectiveHorizontalAlignment.

[только для чтения] hoveredLink : строка

Это свойство содержит строку ссылки, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате rich text или HTML, а строка ссылки обеспечивает доступ к конкретной ссылке.

Это свойство было введено в QtQuick.Controls 1.1.

[только для чтения] inputMethodComposing : булево

Это свойство указывает, имеет ли TextArea частичный ввод текста от метода ввода.

В процессе составления метод ввода может полагаться на события мыши или клавиатуры от TextArea для редактирования или подтверждения частичного текста. Это свойство можно использовать для определения времени отключения обработчиков событий, которые могут мешать корректной работе метода ввода.

Это свойство было введено в QtQuick.Controls 1.3.

inputMethodHints : перечисление

Предоставляет подсказки методу ввода о ожидаемом содержании текстового поля и о том, как он должен работать.

Значение представляет собой битовое объединение флагов или Qt.ImhNone, если подсказки не установлены.

Значение по умолчанию — Qt.ImhNone.

Флаги, изменяющие поведение:

  • Qt.ImhHiddenText — символы должны быть скрыты, как обычно используется при вводе паролей.
  • Qt.ImhSensitiveData — введённый текст не должен храниться активным методом ввода в любом постоянном хранилище, например, в предсказательном словаре пользователя.
  • Qt.ImhNoAutoUppercase — метод ввода не должен пытаться автоматически переключаться на верхний регистр по окончании предложения.
  • Qt.ImhPreferNumbers — числа предпочтительнее (но не обязательно).
  • Qt.ImhPreferUppercase — заглавные буквы предпочтительнее (но не обязательно).
  • Qt.ImhPreferLowercase — строчные буквы предпочтительнее (но не обязательно).
  • Qt.ImhNoPredictiveText — не использовать предсказательный текст (т. е. поиск в словаре) во время ввода.
  • Qt.ImhDate — текстовое поле функционирует как поле даты.
  • Qt.ImhTime — текстовое поле функционирует как поле времени.

Флаги, ограничивающие ввод (исключительные флаги):

  • Qt.ImhDigitsOnly — разрешены только цифры.
  • Qt.ImhFormattedNumbersOnly — разрешен только ввод чисел. Это включает десятичную точку и знак минус.
  • Qt.ImhUppercaseOnly — разрешен только ввод заглавных букв.
  • Qt.ImhLowercaseOnly — разрешен только ввод строчных букв.
  • Qt.ImhDialableCharactersOnly — разрешены только символы, подходящие для набора номера телефона.
  • Qt.ImhEmailCharactersOnly — разрешены только символы, подходящие для адресов электронной почты.
  • Qt.ImhUrlCharactersOnly — разрешены только символы, подходящие для URL-адресов.

Маски:

  • Qt.ImhExclusiveInputMask — эта маска возвращает ненулевое значение, если используется любой из исключительных флагов.

[только для чтения] length : целое

Возвращает общее количество символов обычного текста в элементе TextArea.

Поскольку это число не включает разметку форматирования, оно может отличаться от длины строки, возвращаемой свойством text.

Это свойство может быть быстрее, чем запрос длины свойства text, так как оно не требует копирования или преобразования внутренних данных строки TextArea.

[только для чтения] lineCount : целое

Возвращает общее количество строк в элементе TextArea.

menu : Компонент

Это свойство содержит меню редактирования Menu для работы с выделением текста. Установите его в значение null, если меню не требуется.

Это свойство было введено в QtQuick.Controls 1.3.

См. также Меню.

readOnly : булево

Указывает, может ли пользователь взаимодействовать с элементом TextArea.

Разница с отключенным текстовым полем заключается в том, что оно будет выглядеть активным, и текст можно выделять и копировать.

Если это свойство установлено в значение true, пользователь не может редактировать текст с помощью взаимодействия.

По умолчанию это свойство false.

selectByKeyboard : булево

Это свойство определяет, может ли пользователь выделять текст с помощью клавиатуры.

Если установлено в значение true, пользователь может использовать клавиатуру для выделения текста, даже если редактор в режиме только для чтения. Если установлено в значение false, пользователь не может использовать клавиатуру для выделения текста, даже если редактор редактируемый.

Значение по умолчанию true, когда редактор редактируемый, и false, когда только для чтения.

См. также readOnly.

selectByMouse : булево

Это свойство определяет, может ли пользователь выделять текст с помощью мыши.

Значение по умолчанию true.

[только для чтения] selectedText : строка

Это свойство только для чтения предоставляет текст, который в данный момент выделен в текстовом редакторе.

[только для чтения] selectionEnd : целое

Позиция курсора после последнего символа в текущем выделении.

Это свойство только для чтения. Чтобы изменить выделение, используйте select(start,end), selectAll() или selectWord().

См. также selectionStart, cursorPosition и selectedText.

[только для чтения] selectionStart : целое

Позиция курсора перед первым символом в текущем выделении.

Это свойство только для чтения. Чтобы изменить выделение, используйте select(start,end), selectAll() или selectWord().

См. также selectionEnd, cursorPosition и selectedText.

tabChangesFocus : булево

Это свойство определяет, изменяет ли Tab фокус или принимается как вход.

По умолчанию false.

text : строка

Текст для отображения. Если формат текста AutoText, текстовый редактор автоматически определит, следует ли обрабатывать текст как rich text. Это определение выполняется с использованием Qt::mightBeRichText().

textColor : цвет

Цвет текста.

textDocument : TextDocument

Это свойство предоставляет доступ к QQuickTextDocument этого элемента TextArea.

См. также TextEdit::textDocument.

textFormat : перечисление

Способ отображения свойства text.

  • TextEdit.AutoText
  • TextEdit.PlainText
  • TextEdit.RichText

По умолчанию используется TextEdit.PlainText. Если формат текста TextEdit.AutoText, редактор текста автоматически определит, следует ли рассматривать текст как форматированный. Это определение производится с помощью Qt::mightBeRichText().

textMargin : real

Отступ, в пикселях, вокруг текста в TextArea.

Это свойство было добавлено в QtQuick.Controls 1.1.

verticalAlignment : enumeration

Устанавливает выравнивание текста по высоте элемента TextArea.

Допустимые значения verticalAlignment:

  • TextEdit.AlignTop
  • TextEdit.AlignBottom
  • TextEdit.AlignVCenter (По умолчанию)

wrapMode : enumeration

Установите это свойство для перевода текста по ширине элемента TextArea.

  • TextEdit.NoWrap — перенос не будет выполняться.
  • TextEdit.WordWrap (по умолчанию) — перенос выполняется только по границам слов.
  • TextEdit.WrapAnywhere — перенос выполняется в любой точке строки, даже если это происходит посреди слова.
  • TextEdit.Wrap — если возможно, перенос выполняется по границе слова; в противном случае он будет выполнен в соответствующей точке строки, даже посреди слова.

Документация по сигналам

editingFinished()

Этот сигнал генерируется, когда текстовая область теряет фокус.

Соответствующий обработчик — onEditingFinished.

Этот сигнал был добавлен в QtQuick.Controls 1.5.

linkActivated(string = link)

Этот сигнал генерируется, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.

Соответствующий обработчик — onLinkActivated.

linkHovered(string = link)

Этот сигнал генерируется, когда пользователь наводит указатель на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.

Соответствующий обработчик — onLinkHovered.

Этот сигнал был добавлен в QtQuick.Controls 1.1.

См. также hoveredLink.

Документация по методам

void append(string text)

Добавляет строку в качестве новой строки в конец текстовой области.

void copy()

Копирует выделенный текст в буфер обмена.

void cut()

Перемещает выделенный текст в буфер обмена.

void deselect()

Удаляет активное выделение текста.

string getFormattedText(int start, int end)

Возвращает фрагмент текста между позициями start и end.

Возвращаемый текст будет отформатирован в соответствии со свойством textFormat.

string getText(int start, int end)

Возвращает фрагмент текста между позициями start и end.

Возвращаемый текст не содержит форматирования форматированного текста.

void insert(int position, string text)

Вставляет text в TextArea в указанной позиции.

bool isRightToLeft(int start, int end)

Возвращает true, если естественное направление чтения текста редактора между позициями start и end справа налево.

void moveCursorSelection(int position, SelectionMode mode = TextEdit.SelectCharacters)

Перемещает курсор в position и обновляет выделение в соответствии с необязательным параметром mode. (Чтобы только переместить курсор, установите свойство cursorPosition.)

При вызове этого метода также устанавливается либо selectionStart, либо selectionEnd (то, что находилось в предыдущей позиции курсора) в указанную позицию. Это позволяет легко расширять и сужать выбранный диапазон текста.

Режим выбора указывает, обновляется ли выделение по символам или словам. Если не указано, режим выбора по умолчанию — TextEdit.SelectCharacters.

  • TextEdit.SelectCharacters — Устанавливает либо selectionStart, либо selectionEnd (то, что находилось в предыдущей позиции курсора) в указанную позицию.
  • TextEdit.SelectWords — Устанавливает selectionStart и selectionEnd для включения всех слов между указанной позицией и предыдущей позицией курсора. Частично попадающие в диапазон слова включаются.

Например, рассмотрите эту последовательность вызовов:

cursorPosition = 5
moveCursorSelection(9, TextEdit.SelectCharacters)
moveCursorSelection(7, TextEdit.SelectCharacters)

Это перемещает курсор в 5-ю позицию, расширяет конец выделения с 5 до 9, а затем сокращает конец выделения с 9 до 7, оставляя текст от 5-й позиции до 7-й позиции выделенным (6-й и 7-й символы).

Такая же последовательность с TextEdit.SelectWords расширит начало выделения до границы слова перед или на 5-й позиции и расширит конец выделения до границы слова на или после 9-й позиции.

void paste()

Заменяет выделенный текст содержимым буфера обмена.

int positionAt(int x, int y)

Возвращает позицию текста, ближайшую к пиксельной позиции (x, y).

Позиция 0 находится перед первым символом, позиция 1 — после первого символа, но перед вторым и так далее до text.length, которая находится после всех символов.

rectangle positionToRectangle(position)

Возвращает прямоугольник в указанной позиции position в тексте. Свойства x, y и height соответствуют курсору, который бы описывал эту позицию.

void redo()

Повторяет последнее действие, если повтор доступен вспомогательных действиях.

string remove(int start, int end)

Удаляет фрагмент текста между позициями start и end из TextArea.

void select(int start, int end)

Выделяет текст с позиции start до end.

Если start или end выходят за пределы диапазона, выделение не изменяется.

После вызова этого метода selectionStart станет меньшим, а selectionEnd — большим (независимо от порядка, переданного в этот метод).

См. также selectionStart и selectionEnd.

void selectAll()

Выделяет весь текст.

void selectWord()

Выделяет слово, ближайшее к текущей позиции курсора.

void undo()

Отменяет последнее действие, если отмена доступна вспомогательных действиях. Снимает текущее выделение и обновляет начало выделения до текущей позиции курсора.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-controls-textarea.html

Spec-Zone.ru

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