Тип 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 : 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.
См. также 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, редактор текста автоматически определит, следует ли рассматривать текст как Rich Text. Это определение выполняется с помощью Qt::mightBeRichText().
textColor : цвет
Цвет текста.
TextArea { textColor: "orange" } textDocument : TextDocument
Это свойство предоставляет доступ к QQuickTextDocument этого элемента TextArea.
См. также TextEdit::textDocument.
textFormat : перечисление
Способ отображения свойства text.
По умолчанию используется TextEdit.Обычный текст. Если формат текста TextEdit.Автотекст, редактор текста автоматически определит, следует ли обрабатывать текст как форматированный. Это определение производится с помощью Qt::mightBeRichText().
textMargin : вещественное
Отступ в пикселях вокруг текста в элементе TextArea.
Это свойство было введено в QtQuick.Controls 1.1.
verticalAlignment : перечисление
Устанавливает выравнивание текста по высоте элемента TextArea.
Допустимые значения для verticalAlignment:
- TextEdit.Выравнивание сверху
- TextEdit.Выравнивание снизу
- TextEdit.Выравнивание по вертикали посередине (По умолчанию)
wrapMode : перечисление
Установите это свойство для перевода текста по ширине элемента TextArea.
- TextEdit.Без перевода - перевод не будет выполнен.
- TextEdit.Перевод по словам (по умолчанию) - перевод выполняется только по границам слов.
- TextEdit.Перевод в любом месте - перевод выполняется в любом месте строки, даже если это происходит посередине слова.
- TextEdit.Перевод - если возможно, перевод выполняется по границам слов; в противном случае он будет выполнен в соответствующей точке строки, даже посередине слова.
Документация по сигналам
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 до 9, а затем сокращает конец выделения с 9 до 7, оставляя выделенным текст с пятой позиции по седьмую позицию (шестой и седьмой символы).
Та же последовательность с TextEdit.SelectWords расширит начало выделения до границы слова перед или на пятой позиции и расширит конец выделения до границы слова на или после девятой позиции.
пусто 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/archives/qt-5.11/qml-qtquick-controls-textarea.html