Тип 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
Высота содержимого текста.
Это свойство было добавлено в 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 : real
Отступ, в пикселях, вокруг текста в TextArea.
Этот свойство был введён в QtQuick.Controls 1.1.
verticalAlignment : enumeration
Устанавливает выравнивание текста по высоте элемента TextArea.
Допустимые значения verticalAlignment:
wrapMode : enumeration
Установите это свойство для перевода текста по ширине элемента TextArea.
- TextEdit.NoWrap (по умолчанию) - перевод не будет выполнен.
- TextEdit.WordWrap - перевод производится только по границам слов.
- TextEdit.WrapAnywhere - перевод производится в любой точке строки, даже если он происходит посреди слова.
- TextEdit.Wrap - если возможно, перевод выполняется по границе слова; в противном случае он выполняется в соответствующей точке строки, даже посреди слова.
Документация сигналов
editingFinished()
Этот сигнал испускается, когда область текста теряет фокус.
Соответствующий обработчик onEditingFinished.
Примечание: Соответствующий обработчик onEditingFinished.
Этот сигнал был введён в QtQuick.Controls 1.5.
linkActivated(string link)
Этот сигнал испускается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link обеспечивает доступ к конкретной ссылке.
Соответствующий обработчик onLinkActivated.
Примечание: Соответствующий обработчик onLinkActivated.
linkHovered(string link)
Этот сигнал испускается, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link обеспечивает доступ к конкретной ссылке.
Соответствующий обработчик onLinkHovered.
Примечание: Соответствующий обработчик onLinkHovered.
Этот сигнал был введён в QtQuick.Controls 1.1.
См. также hoveredLink.
Документация методов
void append(string text)
Добавляет строку 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 в позиции position.
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 до 9, а затем сокращает конец выделения с 9 до 7, оставляя выделенным текст с пятой позиции до седьмой позиции (шестой и седьмой символы).
Такая же последовательность с TextEdit.SelectWords расширит начало выделения до границы слова перед или на пятой позиции и расширит конец выделения до границы слова на или после девятой позиции.
void paste()
Заменяет выделенный текст содержимым буфера обмена.
Возвращает позицию текста, ближайшую к пиксельной позиции (x, y).
Позиция 0 находится перед первым символом, позиция 1 находится после первого символа, но перед вторым, и так далее, до позиции text.length, которая находится после всех символов.
rectangle positionToRectangle(position)
Возвращает прямоугольник в заданной позиции position в тексте. Свойства x, y и height соответствуют курсору, который бы описывал эту позицию.
void redo()
Повторяет последнюю операцию, если повторение доступно через canRedo.
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.15/qml-qtquick-controls-textarea.html