Spec-Zone.ru › Qt 5.13

Тип QML TextEdit

Отображает несколько строк редактируемого форматированного текста. Подробнее...

Заявление об импорте: import QtQuick 2.13
Наследует:

Item

  • Список всех членов, включая унаследованные члены

Свойства

  • 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 : enumeration
  • font.bold : bool
  • font.capitalization : enumeration
  • font.family : string
  • font.hintingPreference : enumeration
  • font.italic : bool
  • font.kerning : bool
  • font.letterSpacing : real
  • font.pixelSize : int
  • font.pointSize : real
  • font.preferShaping : bool
  • font.strikeout : bool
  • font.styleName : string
  • font.underline : bool
  • font.weight : enumeration
  • font.wordSpacing : real
  • horizontalAlignment : enumeration
  • hoveredLink : string
  • inputMethodComposing : bool
  • inputMethodHints : enumeration
  • leftPadding : real
  • length : int
  • lineCount : int
  • mouseSelectionMode : enumeration
  • overwriteMode : bool
  • padding : real
  • persistentSelection : bool
  • preeditText : string
  • readOnly : bool
  • renderType : enumeration
  • rightPadding : real
  • selectByKeyboard : bool
  • selectByMouse : bool
  • selectedText : string
  • selectedTextColor : color
  • selectionColor : color
  • selectionEnd : int
  • selectionStart : int
  • tabStopDistance : real
  • text : string
  • textDocument : TextDocument
  • textFormat : enumeration
  • textMargin : real
  • topPadding : real
  • verticalAlignment : enumeration
  • wrapMode : enumeration

Сигналы

  • editingFinished()
  • linkActivated(link)
  • linkHovered(link)

Методы

  • void append(text)
  • clear()
  • copy()
  • cut()
  • deselect()
  • string getFormattedText(start, int end)
  • string getText(start, int end)
  • insert(position, string text)
  • isRightToLeft(start, int end)
  • linkAt(x, real y)
  • moveCursorSelection(position, SelectionMode mode = TextEdit.SelectCharacters)
  • paste()
  • int positionAt(x, int y)
  • rectangle positionToRectangle(position)
  • redo()
  • string remove(start, int end)
  • select(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 {
     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().

См. также Текст и TextInput.

Документация свойств

padding : вещественный

Эти свойства определяют отступы вокруг содержимого. Это пространство резервируется дополнительно к contentWidth и contentHeight.

Эта документация была добавлена в Qt 5.6.

horizontalAlignment : перечисление

Устанавливает горизонтальное и вертикальное выравнивание текста внутри ширины и высоты элемента TextEdit. По умолчанию выравнивание текста соответствует естественному выравниванию, например, текст, читаемый слева направо, будет выровнен по левому краю.

Допустимые значения для horizontalAlignment:

  • TextEdit.AlignLeft (по умолчанию)
  • TextEdit.AlignRight
  • TextEdit.AlignHCenter
  • TextEdit.AlignJustify

Допустимые значения для verticalAlignment:

  • TextEdit.AlignTop (по умолчанию)
  • TextEdit.AlignBottom
  • TextEdit.AlignVCenter

При использовании присоединённого свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражено. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextEdit используйте только для чтения свойство effectiveHorizontalAlignment.

activeFocusOnPress : логическое

Определяет, должен ли TextEdit получать активный фокус при нажатии мыши. По умолчанию это значение равно true.

baseUrl : url

Это свойство определяет базовый URL, который используется для разрешения относительных URL внутри текста.

Значение по умолчанию — URL файла QML, создающего элемент TextEdit.

canPaste : логическое

Возвращает true, если TextEdit разрешено для записи, и содержимое буфера обмена подходит для вставки в TextEdit.

canRedo : логическое

Возвращает true, если TextEdit разрешено для записи, и существуют отменённые операции, которые можно повторить.

canUndo : логическое

Возвращает true, если TextEdit разрешено для записи, и существуют предыдущие операции, которые можно отменить.

color : цвет

Цвет текста.

// green text using hexadecimal notation
TextEdit { color: "#00FF00" }
// steelblue text using SVG color name
TextEdit { color: "steelblue" }

contentHeight : вещественный

Возвращает высоту текста, включая высоту за пределами отображаемой, если текст не помещается в установленную высоту.

contentWidth : вещественный

Возвращает ширину текста, включая ширину за пределами отображаемой из-за недостаточной обрезки, если wrapMode установлен.

cursorDelegate : Компонент

Делегат курсора в TextEdit.

Если вы установили cursorDelegate для TextEdit, этот делегат будет использоваться для рисования курсора вместо стандартного. Экземпляр делегата будет создан и управляется редактором текста, когда потребуется курсор, а свойства x и y экземпляра делегата будут установлены так, чтобы находиться на один пиксель перед верхним левым углом текущего символа.

Обратите внимание, что корневой элемент компонента делегата должен быть QQuickItem или производным от него QQuickItem.

cursorPosition : целое

Позиция курсора в TextEdit.

cursorRectangle : прямоугольник

Прямоугольник, в котором отображается стандартный курсор текста в текстовом редакторе. Только для чтения.

Позиция и высота настраиваемого cursorDelegate обновляются для следования за cursorRectangle автоматически при изменении. Ширина делегата не изменяется при изменении прямоугольника курсора.

cursorVisible : логическое

Если true, текстовый редактор отображает курсор.

Это свойство устанавливается и сбрасывается, когда текстовый редактор получает активный фокус, но его также можно установить напрямую (полезно, например, если KeyProxy может передавать ему клавиши).

font.bold : логическое

Устанавливает, является ли начертание шрифта жирным.

font.capitalization : перечисление

Устанавливает регистр текста.

  • Font.MixedCase - это обычный вариант отображения текста, где не применяется изменение регистра.
  • Font.AllUppercase - это изменяет текст, чтобы он отображался в верхнем регистре.
  • Font.AllLowercase - это изменяет текст, чтобы он отображался в нижнем регистре.
  • Font.SmallCaps - это изменяет текст, чтобы он отображался в полужирных буквах.
  • Font.Capitalize - это изменяет текст, чтобы он отображался с заглавной первой буквой каждого слова.
TextEdit { text: "Hello"; font.capitalization: Font.AllLowercase }

font.family : строка

Устанавливает имя семейства шрифтов.

Имя семейства не зависит от регистра и может необязательно включать имя производителя, например, "Helvetica [Cronyx]". Если семейство доступно от нескольких производителей и производитель не указан, выбирается произвольный производитель. Если семейство недоступно, семейство будет установлено с помощью алгоритма сопоставления шрифтов.

font.hintingPreference : перечисление

Устанавливает предпочтительный стиль начертания текста. Это подсказка для подсистемы отображения текста, чтобы использовать определённый уровень начертания, и поддержка различается в разных платформах. Дополнительные сведения см. в таблице в документации для QFont::HintingPreference.

Примечание: Это свойство имеет эффект только при использовании вместе с типом рендеринга TextEdit.NativeRendering.

Font.PreferDefaultHinting - используется уровень начертания по умолчанию для целевой платформы.

Font.PreferNoHinting - если возможно, рендерить текст без начертания контуров глифов. Макет текста будет типографически точным, используя те же метрики, что используются, например, при печати.

Font.PreferVerticalHinting - если возможно, рендерить текст без горизонтального начертания, но выравнивать глифы по пиксельной сетке в вертикальном направлении. Текст будет выглядеть чётче на дисплеях, где плотность слишком низкая, чтобы обеспечить точное отображение глифов. Но поскольку горизонтальные метрики глифов не начертаны, макет текста будет масштабироваться до устройств с более высокой плотностью (например, принтеров) без влияния на такие детали, как перенос строк.

Font.PreferFullHinting - если возможно, рендерить текст с начертанием в горизонтальном и вертикальном направлениях. Текст будет изменён для оптимизации удобочитаемости на целевом устройстве, но поскольку метрики будут зависеть от целевого размера текста, позиции глифов, переносы строк и другие типографические детали не будут масштабироваться, что означает, что макет текста может выглядеть по-разному на устройствах с различной плотностью пикселей.

TextEdit { text: "Hello"; renderType: TextEdit.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

Это свойство было добавлено в Qt 5.8.

font.italic : логическое

Устанавливает, имеет ли шрифт курсивный стиль.

font.kerning : логическое

Включает или отключает функцию кернинга OpenType при форматировании текста. Отключение может повысить производительность при создании или изменении текста за счёт некоторых косметических функций. Значение по умолчанию — true.

TextEdit { text: "OATS FLAVOUR WAY"; kerning: font.false }

Это свойство было добавлено в Qt 5.10.

font.letterSpacing : вещественный

Устанавливает межбуквенное расстояние для шрифта.

Межбуквенное расстояние изменяет стандартное расстояние между отдельными буквами в шрифте. Положительное значение увеличивает межбуквенное расстояние на соответствующие пиксели; отрицательное значение уменьшает расстояние.

font.pixelSize : целое

Устанавливает размер шрифта в пикселях.

Использование этой функции делает шрифт зависимым от устройства. Используйте TextEdit::font.pointSize для установки размера шрифта независимо от устройства.

font.pointSize : вещественный

Устанавливает размер шрифта в пунктах. Размер пункта должен быть больше нуля.

font.preferShaping : логическое

Иногда шрифт применяет сложные правила к набору символов, чтобы отобразить их правильно. В некоторых системах письма, таких как брахмические скрипты, это необходимо для того, чтобы текст был читаемым, но, например, в латинском шрифте это просто косметическая функция. Установка свойства preferShaping в значение false отключит все такие функции, когда они не нужны, что в большинстве случаев улучшит производительность.

Значение по умолчанию — true.

TextEdit { text: "Some text"; font.preferShaping: false }

Это свойство было добавлено в Qt 5.10.

font.strikeout : bool

Устанавливает, имеет ли шрифт стиль зачеркивания.

font.styleName : string

Устанавливает имя стиля шрифта.

Имя стиля не чувствительно к регистру. Если установлено, шрифт будет сопоставляться с именем стиля, а не с свойствами шрифта font.weight, font.bold и font.italic.

Это свойство было добавлено в 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

Устанавливает интерлиньяж для шрифта.

Интерлиньяж изменяет стандартный интервал между словами. Положительное значение увеличивает интерлиньяж на соответствующее количество пикселей, а отрицательное значение уменьшает интервал между словами соответственно.

hoveredLink : string

Это свойство содержит строку ссылки, когда пользователь наводит курсор на ссылку, встроенную в текст. Ссылка должна быть в формате rich text или HTML, а строка ссылки обеспечивает доступ к конкретной ссылке.

Это свойство было добавлено в 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 - Эта маска возвращает ненулевое значение, если используются любые исключительные флаги.

length : int

Возвращает общее количество символов обычного текста в элементе TextEdit.

Поскольку это число не включает разметку форматирования, оно может отличаться от длины строки, возвращаемой свойством text.

Это свойство может быть быстрее, чем запрос длины свойства text, так как оно не требует копирования или преобразования внутренних данных строки TextEdit.

lineCount : int

Возвращает общее количество строк в элементе TextEdit.

mouseSelectionMode : enumeration

Определяет, как следует выбирать текст с помощью мыши.

  • TextEdit.SelectCharacters - Выборка обновляется отдельными символами. (По умолчанию)
  • TextEdit.SelectWords - Выборка обновляется целыми словами.

Это свойство применяется только когда selectByMouse имеет значение true.

overwriteMode : bool

Указывает, будет ли вводимый пользователем текст перезаписывать существующий текст.

Как и во многих текстовых редакторах, текстовый редактор может быть настроен на вставку или перезапись существующего текста новым введённым пользователем текстом.

Если это свойство true, существующий текст перезаписывается посимвольно новым текстом; в противном случае текст вставляется в позицию курсора, смещая существующий текст.

По умолчанию это свойство false (новый текст не перезаписывает существующий).

Это свойство было добавлено в Qt 5.8.

persistentSelection : bool

Указывает, должен ли TextEdit сохранять видимость выделения при потере активного фокуса на другой элемент сцены. По умолчанию это установлено в false.

[только для чтения] preeditText : string

Это свойство содержит частичный ввод текста от метода ввода.

Это свойство было добавлено в Qt 5.7.

readOnly : bool

Указывает, может ли пользователь взаимодействовать с элементом TextEdit. Если это свойство установлено в true, текст нельзя редактировать с помощью пользовательского взаимодействия.

По умолчанию это свойство false.

renderType : enumeration

Переопределить тип рендеринга по умолчанию для этого компонента.

Поддерживаемые типы рендеринга:

  • Text.QtRendering
  • Text.NativeRendering

Выберите Text.NativeRendering, если вы предпочитаете, чтобы текст выглядел нативно на целевой платформе и не требуете расширенных функций, таких как преобразование текста. Использование таких функций в сочетании с типом рендеринга NativeRendering даст плохие и иногда размытые результаты.

Тип рендеринга по умолчанию определяется с помощью QQuickWindow::textRenderType().

selectByKeyboard : bool

По умолчанию true, когда редактор редактируется, и false, когда он только для чтения.

Если true, пользователь может использовать клавиатуру для выбора текста, даже если редактор только для чтения. Если false, пользователь не может использовать клавиатуру для выбора текста, даже если редактор редактируется.

Это свойство было добавлено в 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.

tabStopDistance : real

Расстояние по умолчанию, в единицах устройства, между отступами табуляции.

Это свойство было добавлено в Qt 5.10.

См. также QTextOption::setTabStop().

text : string

Текст для отображения. Если формат текста AutoText, текстовое поле автоматически определит, следует ли обрабатывать текст как форматированный текст. Это определение выполняется с помощью Qt::mightBeRichText().

Свойство text в основном подходит для установки начального содержимого и обработки изменений относительно небольшого текстового содержимого. Методы append(), insert() и remove() обеспечивают более тонкий контроль и значительно лучшую производительность при изменении, особенно большого, форматированного текстового содержимого.

См. также clear().

textDocument : TextDocument

Возвращает QQuickTextDocument этого объекта TextEdit. Он может использоваться для реализации подсветки синтаксиса с помощью QSyntaxHighlighter.

Это свойство было добавлено в Qt 5.1.

См. также QQuickTextDocument.

textFormat : перечисление

Способ отображения свойства text.

  • TextEdit.AutoText
  • TextEdit.PlainText
  • TextEdit.RichText

По умолчанию 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 : real

Отступ, в пикселях, вокруг текста в TextEdit.

wrapMode : перечисление

Установите это свойство для переноса текста по ширине элемента TextEdit. Текст будет переноситься только в том случае, если явным образом задана ширина.

  • TextEdit.NoWrap - перенос не будет выполняться. Если текст содержит недостаточно символов новой строки, то implicitWidth превысит заданную ширину.
  • TextEdit.WordWrap - перенос выполняется только на границах слов. Если слово слишком длинное, implicitWidth превысит заданную ширину.
  • TextEdit.WrapAnywhere - перенос выполняется в любой точке строки, даже если это происходит посреди слова.
  • TextEdit.Wrap - по возможности перенос происходит на границе слова; в противном случае он произойдет в соответствующей точке строки, даже посреди слова.

По умолчанию TextEdit.NoWrap. Если вы устанавливаете ширину, рассмотрите использование TextEdit.Wrap.

Документация по сигналам

editingFinished()

Этот сигнал излучается, когда текстовое поле теряет фокус.

Соответствующий обработчик — onEditingFinished.

Этот сигнал был добавлен в Qt 5.6.

linkActivated(link)

Этот сигнал излучается, когда пользователь нажимает на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.

Соответствующий обработчик — onLinkActivated.

linkHovered(link)

Этот сигнал излучается, когда пользователь наводит указатель мыши на ссылку, встроенную в текст. Ссылка должна быть в формате форматированного текста или HTML, и строка link предоставляет доступ к конкретной ссылке.

Соответствующий обработчик — onLinkHovered.

Этот сигнал был добавлен в Qt 5.2.

См. также hoveredLink и linkAt().

Документация по методам

void append(text)

Добавляет новый абзац с текстом text в конец TextEdit.

Для добавления без вставки нового абзаца, вызовите myTextEdit.insert(myTextEdit.length, text).

Этот метод был добавлен в Qt 5.2.

clear()

Очищает содержимое текстового поля и сбрасывает частичный ввод текста от метода ввода.

Используйте этот метод вместо установки свойства text в пустую строку.

Этот метод был добавлен в Qt 5.7.

См. также QInputMethod::reset().

copy()

Копирует выделенный текст в буфер обмена.

cut()

Перемещает выделенный текст в буфер обмена.

deselect()

Удаляет активное выделение текста.

string getFormattedText(start, int end)

Возвращает часть текста, расположенную между позициями start и end.

Возвращаемый текст будет отформатирован в соответствии со свойством textFormat.

string getText(start, int end)

Возвращает часть текста, расположенную между позициями start и end.

Возвращаемый текст не содержит форматирования форматированного текста.

insert(position, string text)

Вставляет text в TextEdit по позиции.

isRightToLeft(start, int end)

Возвращает true, если естественное направление чтения текста редактора, найденного между позициями start и end, справа налево.

linkAt(x, real y)

Возвращает строку ссылки в точке x, y в координатах содержимого или пустую строку, если ссылка в этой точке отсутствует.

Этот метод был добавлен в Qt 5.3.

См. также hoveredLink.

moveCursorSelection(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()

Заменяет выделенный текст содержимым буфера обмена.

END_OF_DOCUMENT_MARKER

int positionAt(x, int y)

Возвращает позицию текста, ближайшую к пиксельной позиции (x, y).

Позиция 0 находится перед первой буквой, позиция 1 — после первой, но перед второй, и так далее до позиции text.length, которая находится после всех букв.

rectangle positionToRectangle(position)

Возвращает прямоугольник в тексте по заданной position. Свойства x, y и height соответствуют курсору, который бы описывал эту позицию.

redo()

Повторяет последнюю операцию, если повторение доступно.

string remove(start, int end)

Удаляет часть текста между позициями start и end из TextEdit.

select(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.13/qml-qtquick-textedit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API