Тип 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 : real
Отступ, в пикселях, вокруг текста в элементе TextArea.
Это свойство QML было добавлено в QtQuick.Controls 1.1.
verticalAlignment : enumeration
Устанавливает выравнивание текста по высоте элемента TextArea.
Допустимые значения для verticalAlignment:
wrapMode : enumeration
Установите это свойство для перевода текста по ширине элемента TextArea.
- TextEdit.NoWrap — перенос не будет выполняться.
- TextEdit.WordWrap (по умолчанию) — перенос выполняется только по границам слов.
- TextEdit.WrapAnywhere — перенос выполняется в любой точке строки, даже если он происходит посреди слова.
- TextEdit.Wrap — если возможно, перенос выполняется по границе слова; в противном случае он будет выполнен в соответствующей точке строки, даже посреди слова.
Документация сигналов
editingFinished()
Этот сигнал испускается, когда область текста теряет фокус.
Соответствующий обработчик — onEditingFinished.
Этот сигнал QML был добавлен в QtQuick.Controls 1.5.
linkActivated(string link)
Этот сигнал испускается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkActivated.
linkHovered(string link)
Этот сигнал испускается, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkHovered.
Этот сигнал QML был добавлен в 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)
Вставляет текст в 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 и высота соответствуют курсору, который описывает эту позицию.
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/archives/qt-5.6/qml-qtquick-controls-textarea.html