Тип QML TextArea
Отображает несколько строк редактируемого форматированного текста. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 1.4 |
| С момента: | Qt 5.1 |
| Наследует: |
Свойства
- activeFocusOnPress : bool
- backgroundVisible : bool
- baseUrl : url
- canPaste : bool
- canRedo : bool
- canUndo : bool
- contentHeight : real
- contentWidth : real
- cursorPosition : int
- cursorRectangle : rect
- effectiveHorizontalAlignment : enumeration
- font : font
- horizontalAlignment : enumeration
- hoveredLink : string
- inputMethodComposing : bool
- inputMethodHints : enumeration
- 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 : enumeration
- textMargin : real
- verticalAlignment : enumeration
- wrapMode : enumeration
Сигналы
- editingFinished()
- linkActivated(string link)
- linkHovered(string link)
Методы
- 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
Высота содержимого текста.
Это свойство QML было добавлено в QtQuick.Controls 1.3.
[только для чтения] contentWidth : real
Ширина содержимого текста.
Это свойство QML было добавлено в QtQuick.Controls 1.3.
cursorPosition : int
Позиция курсора в TextArea.
[только для чтения] cursorRectangle : rect
Прямоугольник, в котором отображается курсор текста в области текста.
Это свойство QML было добавлено в QtQuick.Controls 1.3.
[только для чтения] effectiveHorizontalAlignment : перечисление
Получает эффективное горизонтальное выравнивание текста внутри ширины элемента TextArea.
Чтобы установить/получить значение по умолчанию для горизонтального выравнивания TextArea, используйте свойство horizontalAlignment.
font : font
Шрифт элемента TextArea.
horizontalAlignment : перечисление
Устанавливает выравнивание текста внутри ширины элемента TextArea.
По умолчанию, горизонтальное выравнивание текста соответствует естественному выравниванию текста, например, текст, который читается слева направо, будет выровнен по левому краю.
Допустимые значения для horizontalAlignment:
При использовании присоединённого свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражено. Однако свойство horizontalAlignment останется неизменным. Чтобы запросить эффективное горизонтальное выравнивание TextArea, используйте свойство только для чтения effectiveHorizontalAlignment.
[только для чтения] hoveredLink : строка
Это свойство содержит строку ссылки, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка ссылки обеспечивает доступ к конкретной ссылке.
Это свойство QML было добавлено в QtQuick.Controls 1.1.
[только для чтения] inputMethodComposing : логическое значение
Это свойство содержит информацию о том, имеет ли TextArea частичный ввод текста от метода ввода.
Во время составления метода ввода может полагаться на события мыши или клавиатуры от TextArea для редактирования или подтверждения частичного текста. Это свойство можно использовать для определения того, когда следует отключать обработчики событий, которые могут помешать корректной работе метода ввода.
Это свойство QML было добавлено в 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 : Component
Это свойство содержит контекстное меню для работы с выделением текста. Установите его в значение null если меню не требуется.
Это свойство QML было добавлено в QtQuick.Controls 1.3.
См. также Menu.
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, поле редактирования текста автоматически определит, должен ли текст обрабатываться как форматированный текст. Это определение выполняется с помощью Qt::mightBeRichText().
textColor : цвет
Цвет текста.
TextArea { textColor: "orange" } textDocument : TextDocument
Это свойство предоставляет доступ к QQuickTextDocument данного элемента TextArea.
См. также TextEdit::textDocument.
textFormat : перечисление
Способ отображения свойства text.
Значение по умолчанию - TextEdit.PlainText. Если формат текста TextEdit.AutoText, поле редактирования текста автоматически определит, должен ли текст обрабатываться как форматированный текст. Это определение выполняется с помощью Qt::mightBeRichText().
textMargin : вещественное число
Отступ вокруг текста в элементе TextArea в пикселях.
Это свойство QML было добавлено в QtQuick.Controls 1.1.
verticalAlignment : перечисление
Устанавливает выравнивание текста по высоте элемента TextArea.
Допустимые значения для verticalAlignment:
wrapMode : перечисление
Установите это свойство для перевода текста по ширине элемента TextArea.
- TextEdit.NoWrap — перевод не выполняется.
- TextEdit.WordWrap (по умолчанию) — перевод осуществляется только по границам слов.
- TextEdit.WrapAnywhere — перевод осуществляется в любой точке строки, даже посередине слова.
- TextEdit.Wrap — если возможно, перевод происходит по границе слова; в противном случае он будет выполнен в соответствующей точке строки, даже посередине слова.
Документация по сигналам
editingFinished()
Этот сигнал излучается, когда текстовая область теряет фокус.
Соответствующий обработчик — onEditingFinished.
Этот QML-сигнал был добавлен в QtQuick.Controls 1.5.
linkActivated(строка link)
Этот сигнал излучается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkActivated.
linkHovered(строка link)
Этот сигнал излучается, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkHovered.
Этот QML-сигнал был добавлен в QtQuick.Controls 1.1.
См. также hoveredLink.
Документация по методам
пусто append(строка text)
Добавляет строку в качестве новой строки в конец текстовой области.
пусто copy()
Копирует выделенный текст в буфер обмена системы.
пусто cut()
Перемещает выделенный текст в буфер обмена системы.
пусто deselect()
Удаляет активное выделение текста.
строка getFormattedText(целое число start, целое число end)
Возвращает фрагмент текста между позициями start и end.
Возвращаемый текст будет отформатирован в соответствии со свойством textFormat.
строка getText(целое число start, целое число end)
Возвращает фрагмент текста между позициями start и end.
Возвращаемый текст не содержит форматирования форматированного текста.
пусто insert(целое число position, строка text)
Вставляет text в TextArea в заданную позицию.
булево isRightToLeft(целое число start, целое число end)
Возвращает true, если естественное направление чтения текста редактора между позициями start и end — справа налево.
пусто moveCursorSelection(целое число 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-й позиции.
пусто paste()
Заменяет выделенный текст содержимым буфера обмена системы.
целое число positionAt(целое число x, целое число y)
Возвращает позицию текста, ближайшую к пиксельной позиции (x, y).
Позиция 0 находится перед первым символом, позиция 1 — после первого символа, но перед вторым и так далее до позиции text.length, которая находится после всех символов.
прямоугольник positionToRectangle(position)
Возвращает прямоугольник в заданной позиции position в тексте. Свойства x, y и height соответствуют курсору, который описывает эту позицию.
пусто redo()
Повторяет последнее действие, если повторение доступно (canRedo).
строка remove(целое число start, целое число end)
Удаляет фрагмент текста между позициями start и end из элемента TextArea.
пусто select(целое число start, целое число end)
Выделяет текст от позиции start до позиции end.
Если start или end выходят за пределы диапазона, выделение не изменяется.
После вызова этого метода selectionStart будет наименьшим, а selectionEnd — наибольшим (независимо от порядка, в котором они были переданы этому методу).
См. также selectionStart и selectionEnd.
пусто selectAll()
Выделяет весь текст.
пусто selectWord()
Выделяет слово, ближайшее к текущей позиции курсора.
пусто undo()
Отменяет последнее действие, если отмена доступна (canUndo). Снимает выделение и обновляет начало выделения до текущей позиции курсора.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls-textarea.html