Тип QML TextEdit
Отображает несколько строк редактируемого форматированного текста Подробнее...
| Заявление об импорте: | import QtQuick 2.7 |
| Наследует: | |
| Наследуется от: |
Свойства
- activeFocusOnPress : bool
- baseUrl : url
- bottomPadding : real
- canPaste : bool
- canRedo : bool
- canUndo : bool
- color : color
- contentHeight : real
- contentWidth : real
- cursorDelegate : Component
- cursorPosition : int
- cursorRectangle : rectangle
- cursorVisible : bool
- effectiveHorizontalAlignment : перечисление
- font.bold : bool
- font.capitalization : перечисление
- font.family : string
- font.hintingPreference : перечисление
- font.italic : bool
- font.letterSpacing : real
- font.pixelSize : int
- font.pointSize : real
- font.strikeout : bool
- font.styleName : string
- font.underline : bool
- font.weight : перечисление
- font.wordSpacing : real
- horizontalAlignment : перечисление
- hoveredLink : string
- inputMethodComposing : bool
- inputMethodHints : перечисление
- leftPadding : real
- length : int
- lineCount : int
- mouseSelectionMode : перечисление
- overwriteMode : bool
- padding : real
- persistentSelection : bool
- preeditText : string
- readOnly : bool
- renderType : перечисление
- rightPadding : real
- selectByKeyboard : bool
- selectByMouse : bool
- selectedText : string
- selectedTextColor : color
- selectionColor : color
- selectionEnd : int
- selectionStart : int
- text : string
- textDocument : TextDocument
- textFormat : перечисление
- textMargin : real
- topPadding : real
- verticalAlignment : перечисление
- wrapMode : перечисление
Сигналы
- editingFinished()
- linkActivated(string link)
- linkHovered(string link)
Методы
- void append(string text)
- clear()
- copy()
- cut()
- deselect()
- string getFormattedText(int start, int end)
- string getText(int start, int end)
- insert(int position, string text)
- isRightToLeft(int start, int end)
- linkAt(real x, real y)
- moveCursorSelection(int position, SelectionMode mode)
- paste()
- int positionAt(int x, int y)
- rectangle positionToRectangle(position)
- redo()
- string remove(int start, int end)
- select(int start, int end)
- selectAll()
- selectWord()
- undo()
Подробное описание
Элемент TextEdit отображает блок редактируемого форматированного текста.
Он может отображать как обычный, так и форматированный текст. Например:
TextEdit {
width: 240
text: "<b>Hello</b> <i>World!</i>"
font.family: "Helvetica"
font.pointSize: 20
color: "blue"
focus: true
}
Установка focus в true позволяет элементу TextEdit получить фокус клавиатуры.
Обратите внимание, что TextEdit не реализует прокрутку, слежение за курсором или другие поведения, специфичные для темы оформления. Например, для добавления прокрутки с flickable, которая следует за курсором:
Flickable {
id: flick
width: 300; height: 200;
contentWidth: edit.paintedWidth
contentHeight: edit.paintedHeight
clip: true
function ensureVisible(r)
{
if (contentX >= r.x)
contentX = r.x;
else if (contentX+width <= r.x+r.width)
contentX = r.x+r.width-width;
if (contentY >= r.y)
contentY = r.y;
else if (contentY+height <= r.y+r.height)
contentY = r.y+r.height-height;
}
TextEdit {
id: edit
width: flick.width
focus: true
wrapMode: TextEdit.Wrap
onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
}
} Конкретная тема оформления может использовать плавную прокрутку (например, используя SmoothedAnimation), может иметь видимую полосу прокрутки или полосу прокрутки, которая появляется для отображения местоположения и т. д.
Поддержка буфера обмена обеспечивается функциями cut(), copy() и paste(), а выбор может обрабатываться традиционным механизмом «мышью» путем установки selectByMouse, или полностью обрабатываться из QML путем управления selectionStart и selectionEnd, или с помощью selectAll() или selectWord().
Вы можете переводить позиции курсора (символы с начала документа) в пиксельные точки, используя positionAt() и positionToRectangle().
См. также Текст и Поле ввода текста.
Документация свойств
activeFocusOnPress : bool
Указывает, должно ли поле TextEdit получить фокус при нажатии мыши. По умолчанию это значение равно true.
baseUrl : url
Это свойство задаёт базовый URL, используемый для разрешения относительных URL внутри текста.
Значение по умолчанию — URL файла QML, создающего элемент TextEdit.
bottomPadding : real
Эти свойства задают отступы вокруг содержимого. Это пространство зарезервировано дополнительно к contentWidth и contentHeight.
Это свойство QML было добавлено в Qt 5.6.
canPaste : bool
Возвращает true, если поле TextEdit доступно для записи и содержимое буфера обмена подходит для вставки в TextEdit.
canRedo : bool
Возвращает true, если поле TextEdit доступно для записи и существуют отменённые операции, которые можно повторить.
canUndo : bool
Возвращает true, если поле TextEdit доступно для записи и существуют предыдущие операции, которые можно отменить.
color : color
Цвет текста.
// green text using hexadecimal notation
TextEdit { color: "#00FF00" } // steelblue text using SVG color name
TextEdit { color: "steelblue" } contentHeight : real
Возвращает высоту текста, включая высоту, выходящую за установленную высоту, если текст не помещается в неё.
contentWidth : real
Возвращает ширину текста, включая ширину, выходящую за установленную ширину из-за недостаточной обрезки, если свойство wrapMode установлено.
cursorDelegate : Component
Делегат курсора в TextEdit.
Если вы зададите cursorDelegate для TextEdit, этот делегат будет использован для отрисовки курсора вместо стандартного. Экземпляр делегата будет создан и управляться редактором текста при необходимости курсора, а свойства x и y экземпляра делегата будут установлены так, чтобы находиться на один пиксель перед левым верхним углом текущего символа.
Обратите внимание, что корневой элемент компонента делегата должен быть элементом QQuickItem или его производным.
cursorPosition : int
Позиция курсора в TextEdit.
cursorRectangle : rectangle
Прямоугольник, где отрисовывается стандартный курсор текста в редакторе текста. Только для чтения.
Положение и высота пользовательского cursorDelegate обновляются автоматически для следования за cursorRectangle при изменении. Ширина делегата не изменяется при изменении прямоугольника курсора.
cursorVisible : bool
Если true, редактор текста отображает курсор.
Это свойство устанавливается и сбрасывается, когда редактор текста получает активный фокус, но его также можно установить напрямую (полезно, например, если KeyProxy может пересылать ему клавиши).
effectiveHorizontalAlignment : enumeration
Устанавливает горизонтальное и вертикальное выравнивание текста в пределах ширины и высоты элемента TextEdit. По умолчанию выравнивание текста соответствует естественному выравниванию, например, текст, читаемый слева направо, будет выровнен по левому краю.
Допустимые значения для horizontalAlignment:
Допустимые значения для verticalAlignment:
При использовании присоединённого свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражено. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextEdit используйте свойство только для чтения effectiveHorizontalAlignment.
font.bold : bool
Устанавливает, является ли начертание шрифта жирным.
font.capitalization : enumeration
Устанавливает регистр текста.
- Font.MixedCase — стандартный вариант отображения текста без изменений регистра.
- Font.AllUppercase — текст отображается заглавными буквами.
- Font.AllLowercase — текст отображается строчными буквами.
- Font.SmallCaps — текст отображается в виде малых прописных букв.
- Font.Capitalize — первый символ каждого слова отображается заглавной буквой.
TextEdit { text: "Hello"; font.capitalization: Font.AllLowercase } font.family : string
Устанавливает имя семейства шрифта.
Имя семейства нечувствительно к регистру и может необязательно включать имя типографии, например, "Helvetica [Cronyx]". Если семейство доступно более чем от одной типографии, а типография не указана, выбирается произвольная типография. Если семейство недоступно, оно будет установлено с помощью алгоритма сопоставления шрифтов.
font.hintingPreference : enumeration
Устанавливает предпочтительный стиль начертания текста. Это подсказка для подсистемы рендеринга текста использовать определённый уровень начертания, и поддержка варьируется в разных платформах. Подробнее см. таблицу в документации для QFont::HintingPreference.
Примечание: Это свойство действует только при использовании типа рендеринга TextEdit.NativeRendering.
Font.PreferDefaultHinting — использовать уровень начертания по умолчанию для целевой платформы.
Font.PreferNoHinting — если возможно, отрисовать текст без начертания контуров глифов. Макет текста будет точным типографически, используя те же метрики, что и, например, при печати.
Font.PreferVerticalHinting — если возможно, отрисовать текст без горизонтального начертания, но выровнять глифы по пиксельной сетке по вертикали. Текст будет казаться чётче на дисплеях с низкой плотностью, недостаточной для точной отрисовки глифов. Но так как горизонтальные метрики глифов не начертаны, макет текста будет масштабироваться на устройствах с большей плотностью (например, принтеры) без влияния на детали, такие как переносы строк.
Font.PreferFullHinting — если возможно, отрисовать текст с начертанием по горизонтали и вертикали. Текст будет изменён для оптимизации читабельности на целевом устройстве, но так как метрики будут зависеть от целевого размера текста, позиции глифов, переносов строк и других типографических деталей не будут масштабироваться, что означает, что макет текста может выглядеть по-разному на устройствах с различной плотностью пикселей.
TextEdit { text: "Hello"; renderType: TextEdit.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting } Это свойство QML было добавлено в Qt 5.8.
font.italic : bool
Устанавливает, имеет ли шрифт курсивный стиль.
font.letterSpacing : real
Устанавливает интерлиньяж для шрифта.
Интерлиньяж изменяет стандартный интервал между отдельными буквами в шрифте. Положительное значение увеличивает интерлиньяж на соответствующие пиксели; отрицательное значение уменьшает интервал.
font.pixelSize : int
Устанавливает размер шрифта в пикселях.
Использование этой функции делает шрифт зависимым от устройства. Используйте TextEdit::font.pointSize для установки размера шрифта независимо от устройства.
font.pointSize : real
Устанавливает размер шрифта в пунктах. Размер пункта должен быть больше нуля.
font.strikeout : bool
Устанавливает, имеет ли шрифт перечёркнутый стиль.
font.styleName : string
Устанавливает имя стиля шрифта.
Имя стиля нечувствительно к регистру. При установке шрифт будет сопоставляться по имени стиля вместо свойств шрифта font.weight, font.bold и font.italic.
Это свойство QML было добавлено в Qt 5.6.
font.underline : bool
Устанавливает, подчёркнут ли текст.
font.weight : enumeration
Устанавливает толщину шрифта.
Толщина может быть следующей:
- Font.Thin
- Font.Light
- Font.ExtraLight
- Font.Normal — по умолчанию
- Font.Medium
- Font.DemiBold
- Font.Bold
- Font.ExtraBold
- Font.Black
TextEdit { text: "Hello"; font.weight: Font.DemiBold } font.wordSpacing : real
Устанавливает интервалы между словами для шрифта.
Интервалы между словами изменяют стандартный интервал между отдельными словами. Положительное значение увеличивает интервалы между словами на соответствующее количество пикселей, а отрицательное значение уменьшает интервалы между словами соответственно.
horizontalAlignment : enumeration
Устанавливает горизонтальное и вертикальное выравнивание текста в ширине и высоте элемента TextEdit. По умолчанию выравнивание текста соответствует естественному выравниванию текста, например, текст, который читается слева направо, будет выровнен по левому краю.
Допустимые значения для horizontalAlignment:
Допустимые значения для verticalAlignment:
При использовании присоединённого свойства LayoutMirroring::enabled для зеркального отображения макетов приложения, горизонтальное выравнивание текста также будет зеркальным. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextEdit используйте только для чтения свойство effectiveHorizontalAlignment.
hoveredLink : string
Это свойство содержит строку ссылки, когда пользователь наводит курсор на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка ссылки предоставляет доступ к конкретной ссылке.
Это свойство QML было добавлено в Qt 5.2.
См. также linkHovered и linkAt().
inputMethodComposing : bool
Это свойство содержит значение, указывающее, имеет ли TextEdit частичный ввод текста от метода ввода.
Во время составления ввода метод ввода может полагаться на события мыши или клавиатуры от TextEdit для редактирования или подтверждения частичного текста. Это свойство можно использовать для определения того, когда следует отключать обработчики событий, которые могут препятствовать корректной работе метода ввода.
inputMethodHints : enumeration
Предоставляет подсказки методу ввода о ожидаемом содержимом текстового поля и о том, как он должен работать.
Значение является побитовым сочетанием флагов или 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 - Эта маска возвращает ненулевое значение, если используется любой из исключительных флагов.
leftPadding : real
Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.
Это свойство QML было добавлено в Qt 5.6.
length : int
Возвращает общее количество символов обычного текста в элементе TextEdit.
Поскольку это число не включает разметку форматирования, оно может отличаться от длины строки, возвращаемой свойством text.
Это свойство может быть быстрее, чем запрос длины свойства text, так как ему не требуется копирование или преобразование внутренних данных строки TextEdit.
lineCount : int
Возвращает общее количество строк в элементе TextEdit.
mouseSelectionMode : enumeration
Указывает, как текст должен выбираться с помощью мыши.
- TextEdit.SelectCharacters - Выделение обновляется отдельными символами. (По умолчанию)
- TextEdit.SelectWords - Выделение обновляется целыми словами.
Это свойство применяется только, когда selectByMouse имеет значение true.
overwriteMode : bool
Определяет, будет ли введённый пользователем текст перезаписывать существующий текст.
Как и многие текстовые редакторы, текстовый редактор может быть настроен на вставку или перезапись существующего текста новым текстом, введённым пользователем.
Если это свойство true, существующий текст перезаписывается символ за символом новым текстом; в противном случае текст вставляется в позицию курсора, вытесняя существующий текст.
По умолчанию это свойство false (новый текст не перезаписывает существующий текст).
Это свойство QML было добавлено в Qt 5.8.
padding : real
Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.
Это свойство QML было добавлено в Qt 5.6.
persistentSelection : bool
Указывает, должен ли TextEdit сохранять видимость выделения при потере активного фокуса на другой элемент в сцене. По умолчанию это значение установлено в false.
[только для чтения] preeditText : string
Это свойство содержит частичный ввод текста от метода ввода.
Это свойство QML было добавлено в Qt 5.7.
readOnly : bool
Указывает, может ли пользователь взаимодействовать с элементом TextEdit. Если это свойство установлено в true, текст нельзя редактировать с помощью пользовательского взаимодействия.
По умолчанию это свойство имеет значение false.
renderType : enumeration
Переопределить тип рендеринга по умолчанию для этого компонента.
Поддерживаемые типы рендеринга:
- Text.QtRendering - по умолчанию
- Text.NativeRendering
Выберите Text.NativeRendering, если вы предпочитаете, чтобы текст выглядел нативно на целевой платформе и вам не нужны расширенные возможности, такие как преобразование текста. Использование таких возможностей в сочетании с типом рендеринга NativeRendering даст плохие и иногда пикселированные результаты.
rightPadding : real
Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.
Это свойство QML было добавлено в Qt 5.6.
selectByKeyboard : bool
По умолчанию true, когда редактор редактируем, и false, когда только для чтения.
Если true, пользователь может использовать клавиатуру для выбора текста, даже если редактор только для чтения. Если false, пользователь не может использовать клавиатуру для выбора текста, даже если редактор редактируем.
Это свойство QML было добавлено в Qt 5.1.
См. также readOnly.
selectByMouse : bool
По умолчанию false.
Если true, пользователь может использовать мышь для выбора текста определённым способом, специфичным для платформы. Обратите внимание, что для некоторых платформ это может быть не подходящее взаимодействие; это может конфликтовать с тем, как текст должен вести себя внутри Flickable, например.
selectedText : string
Это свойство только для чтения предоставляет текст, выбранный в текстовом поле.
Это эквивалентно следующему фрагменту кода, но быстрее и удобнее в использовании.
//myTextEdit is the id of the TextEdit
myTextEdit.text.toString().substring(myTextEdit.selectionStart,
myTextEdit.selectionEnd); selectedTextColor : color
Цвет выделенного текста, используемый при выделении.
selectionColor : color
Цвет выделения текста, используемый под выделением.
selectionEnd : int
Позиция курсора после последнего символа в текущем выделении.
Это свойство только для чтения. Для изменения выделения используйте select(start,end), selectAll() или selectWord().
См. также selectionStart, cursorPosition и selectedText.
selectionStart : int
Позиция курсора перед первой буквой в текущем выделении.
Это свойство является только для чтения. Чтобы изменить выделение, используйте select(start,end), selectAll() или selectWord().
См. также selectionEnd, cursorPosition и selectedText.
text : string
Текст для отображения. Если формат текста AutoText, текстовый редактор автоматически определит, следует ли рассматривать текст как форматированный. Это определение выполняется с помощью Qt::mightBeRichText().
Свойство text, в основном, подходит для установки начального содержимого и обработки изменений относительно небольшого текстового содержимого. Методы append(), insert() и remove() обеспечивают более тонкую настройку и значительно лучшую производительность при модификации, особенно, большого форматированного текстового содержимого.
См. также clear().
textDocument : TextDocument
Возвращает QQuickTextDocument данного TextEdit. Его можно использовать для реализации подсветки синтаксиса с помощью QSyntaxHighlighter.
Это свойство QML было добавлено в Qt 5.1.
См. также QQuickTextDocument.
textFormat : перечисление
Способ отображения свойства text.
По умолчанию TextEdit.PlainText. Если формат текста TextEdit.AutoText, текстовый редактор автоматически определяет, следует ли обрабатывать текст как форматированный. Это определение выполняется с помощью Qt::mightBeRichText().
Column {
TextEdit {
font.pointSize: 24
text: "<b>Hello</b> <i>World!</i>"
}
TextEdit {
font.pointSize: 24
textFormat: TextEdit.RichText
text: "<b>Hello</b> <i>World!</i>"
}
TextEdit {
font.pointSize: 24
textFormat: TextEdit.PlainText
text: "<b>Hello</b> <i>World!</i>"
}
} |
textMargin : вещественное
Отступ в пикселях вокруг текста в TextEdit.
topPadding : вещественное
Эти свойства задают отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.
Это свойство QML было добавлено в Qt 5.6.
verticalAlignment : перечисление
Устанавливает горизонтальное и вертикальное выравнивание текста внутри ширины и высоты элемента TextEdit. По умолчанию выравнивание текста соответствует естественному выравниванию, например, текст, который читается слева направо, будет выровнен по левому краю.
Допустимые значения для horizontalAlignment:
Допустимые значения для verticalAlignment:
При использовании присоединённого свойства LayoutMirroring::enabled для зеркального отображения макетов приложения, горизонтальное выравнивание текста также будет зеркально отображено. Однако, свойство horizontalAlignment останется неизменным. Чтобы запросить эффективное горизонтальное выравнивание TextEdit, используйте свойство только для чтения effectiveHorizontalAlignment.
wrapMode : перечисление
Установите это свойство, чтобы переносить текст по ширине элемента TextEdit. Текст будет переноситься только в том случае, если задана явная ширина.
- TextEdit.NoWrap — перенос не выполняется. Если текст содержит недостаточно символов новой строки, implicitWidth превысит заданную ширину.
- TextEdit.WordWrap — перенос происходит только по границам слов. Если слово слишком длинное, implicitWidth превысит заданную ширину.
- TextEdit.WrapAnywhere — перенос происходит в любой точке строки, даже если он происходит посреди слова.
- TextEdit.Wrap — по возможности, перенос происходит по границе слова; в противном случае он произойдёт в соответствующей точке строки, даже посреди слова.
По умолчанию TextEdit.NoWrap. Если вы задаёте ширину, рассмотрите использование TextEdit.Wrap.
Документация по сигналам
editingFinished()
Этот сигнал испускается, когда текстовый редактор теряет фокус.
Соответствующий обработчик — onEditingFinished.
Этот сигнал QML был добавлена в Qt 5.6.
linkActivated(string link)
Этот сигнал испускается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkActivated.
linkHovered(string link)
Этот сигнал испускается, когда пользователь наводит курсор на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, а строка link предоставляет доступ к конкретной ссылке.
Соответствующий обработчик — onLinkHovered.
Этот сигнал QML был добавлен в Qt 5.2.
См. также hoveredLink и linkAt().
Документация по методам
void append(string text)
Добавляет новый абзац с текстом text в конец TextEdit.
Чтобы добавить без вставки нового абзаца, используйте myTextEdit.insert(myTextEdit.length, text) вместо этого.
Этот метод QML был добавлен в Qt 5.2.
clear()
Очищает содержимое текстового редактора и сбрасывает частичный ввод текста от метода ввода.
Используйте этот метод вместо установки свойства text в пустую строку.
Этот метод QML был добавлен в Qt 5.7.
См. также QInputMethod::reset().
copy()
Копирует выделенный текст в буфер обмена.
cut()
Перемещает выделенный текст в буфер обмена.
deselect()
Удаляет выделение текста.
string getFormattedText(int start, int end)
Возвращает часть текста между позициями start и end.
Возвращаемый текст будет отформатирован в соответствии со свойством textFormat.
string getText(int start, int end)
Возвращает часть текста между позициями start и end.
Возвращаемый текст не включает форматирование форматированного текста.
insert(int position, string text)
Вставляет text в TextEdit в заданной позиции.
isRightToLeft(int start, int end)
Возвращает true, если естественное направление чтения текста редактора между позициями start и end — справа налево.
linkAt(вещественное x, вещественное y)
Возвращает строку ссылки в точке x, y в координатах содержимого или пустую строку, если ссылки в этой точке нет.
Этот метод QML был добавлен в Qt 5.3.
См. также hoveredLink.
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.
paste()
Заменяет текущий выделенный текст содержимым системного буфера обмена.
int positionAt(int x, int y)
Возвращает позицию текста, ближайшую к пиксельной позиции (x, y).
Позиция 0 находится перед первым символом, позиция 1 — после первого, но перед вторым символом и так далее до позиции text.length, которая находится после всех символов.
rectangle positionToRectangle(position)
Возвращает прямоугольник в указанной позиции position в тексте. Свойства x, y и height соответствуют курсору, который бы описывал эту позицию.
redo()
Повторяет последнюю операцию, если повторение доступно.
string remove(int start, int end)
Удаляет часть текста, расположенную между позициями start и end, из TextEdit.
select(int start, int end)
Выделяет текст с позиции start до позиции end.
Если значения start или end находятся вне допустимого диапазона, выделение не изменяется.
После вызова этого метода, 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.9/qml-qtquick-textedit.html