Тип 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 : перечисление
- font : шрифт
- horizontalAlignment : перечисление
- hoveredLink : строка
- inputMethodComposing : bool
- inputMethodHints : перечисление
- length : int
- lineCount : int
- menu : Компонент
- readOnly : bool
- selectByKeyboard : bool
- selectByMouse : bool
- selectedText : строка
- selectionEnd : int
- selectionStart : int
- tabChangesFocus : bool
- text : строка
- textColor : цвет
- textDocument : TextDocument
- textFormat : перечисление
- textMargin : real
- verticalAlignment : перечисление
- wrapMode : перечисление
Сигналы
- editingFinished()
- linkActivated(строка)
- linkHovered(строка)
Методы
- void append(строка text)
- void copy()
- void cut()
- void deselect()
- строка getFormattedText(int start, int end)
- строка getText(int start, int end)
- void insert(int position, строка text)
- bool isRightToLeft(int start, int end)
- void moveCursorSelection(int position, SelectionMode mode)
- void paste()
- int positionAt(int x, int y)
- прямоугольник positionToRectangle(position)
- void redo()
- строка 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:
При использовании присоединенного свойства 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.PlainText. Если формат текста TextEdit.AutoText, текстовый редактор автоматически определит, следует ли рассматривать текст как форматированный. Это определение выполняется с помощью Qt::mightBeRichText().
textMargin : вещественное
Отступ, в пикселях, вокруг текста в элементе TextArea.
Это свойство было добавлено в QtQuick.Controls 1.1.
verticalAlignment : перечисление
Устанавливает выравнивание текста по высоте элемента TextArea.
Допустимые значения для verticalAlignment:
wrapMode : перечисление
Установите это свойство для переноса текста по ширине элемента TextArea.
- TextEdit.NoWrap - перенос не будет выполнен.
- TextEdit.WordWrap (по умолчанию) - перенос выполняется только по границам слов.
- TextEdit.WrapAnywhere - перенос выполняется в любой точке строки, даже если он происходит в середине слова.
- TextEdit.Wrap - если возможно, перенос выполняется по границам слов; в противном случае он будет выполнен в соответствующей точке строки, даже в середине слова.
Документация сигналов
editingFinished()
Этот сигнал испускается, когда текстовое поле теряет фокус.
Соответствующий обработчик — onEditingFinished.
Этот сигнал был добавлен в QtQuick.Controls 1.5.
linkActivated(строка = ссылка)
Этот сигнал испускается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка ссылка предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkActivated.
linkHovered(строка = ссылка)
Этот сигнал испускается, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка ссылка предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkHovered.
Этот сигнал был добавлен в QtQuick.Controls 1.1.
См. также hoveredLink.
Документация методов
пустое append(строка текст)
Добавляет строку текст как новую строку в конец текстовой области.
пустое copy()
Копирует выделенный текст в буфер обмена.
пустое cut()
Перемещает выделенный текст в буфер обмена.
пустое deselect()
Удаляет активный выбор текста.
строка getFormattedText(целое начало, целое конец)
Возвращает фрагмент текста между позициями начало и конец.
Возвращаемый текст будет отформатирован в соответствии со свойством textFormat.
строка getText(целое начало, целое конец)
Возвращает фрагмент текста между позициями начало и конец.
Возвращаемый текст не содержит форматирования форматированного текста.
пустое insert(целое позиция, строка текст)
Вставляет текст в TextArea по позиции позиция.
логическое isRightToLeft(целое начало, целое конец)
Возвращает true, если естественное направление чтения текста редактора между позициями начало и конец — справа налево.
пустое moveCursorSelection(целое позиция, SelectionMode режим = TextEdit.SelectCharacters)
Перемещает курсор в позицию и обновляет выделение в соответствии с необязательным параметром режим. (Для перемещения только курсора установите свойство 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(позиция)
Возвращает прямоугольник в заданной позиции в тексте. Свойства x, y и высота соответствуют курсору, который описывает эту позицию.
пустое redo()
Повторяет последнюю операцию, если повторение доступно.
строка remove(целое начало, целое конец)
Удаляет фрагмент текста между позициями начало и конец из TextArea.
пустое select(целое начало, целое конец)
Выделяет текст от начало до конец.
Если либо начало, либо конец выходит за пределы диапазона, выделение не изменяется.
После вызова этого метода selectionStart станет меньшим, а selectionEnd — большим (независимо от порядка, переданного этому методу).
См. также selectionStart и selectionEnd.
пустое selectAll()
Выделяет весь текст.
пустое selectWord()
Выделяет слово, ближайшее к текущей позиции курсора.
пустое undo()
Отменяет последнюю операцию, если отмена доступна. Снимает выделение текущего выделения и обновляет начало выделения до текущей позиции курсора.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtquick-controls-textarea.html