Spec-Zone.ru › Qt

Тип QML Text

Определяет, как добавлять форматированный текст в сцену. Подробнее...

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

Элемент

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

Свойства

  • advance : размер
  • antialiasing : bool
  • baseUrl : url
  • bottomPadding : вещественное число
  • clip : bool
  • color : цвет
  • contentHeight : вещественное число
  • contentWidth : вещественное число
  • effectiveHorizontalAlignment : перечисление
  • elide : перечисление
  • font.bold : bool
  • font.capitalization : перечисление
  • font.family : строка
  • font.hintingPreference : перечисление
  • font.italic : bool
  • font.kerning : bool
  • font.letterSpacing : вещественное число
  • font.pixelSize : целое число
  • font.pointSize : вещественное число
  • font.preferShaping : bool
  • font.strikeout : bool
  • font.styleName : строка
  • font.underline : bool
  • font.weight : целое число
  • font.wordSpacing : вещественное число
  • fontInfo.bold : bool
  • fontInfo.family : строка
  • fontInfo.italic : bool
  • fontInfo.pixelSize : строка
  • fontInfo.pointSize : вещественное число
  • fontInfo.styleName : строка
  • fontInfo.weight : целое число
  • fontSizeMode : перечисление
  • horizontalAlignment : перечисление
  • hoveredLink : строка
  • leftPadding : вещественное число
  • lineCount : целое число
  • lineHeight : вещественное число
  • lineHeightMode : перечисление
  • linkColor : цвет
  • maximumLineCount : целое число
  • minimumPixelSize : целое число
  • minimumPointSize : целое число
  • padding : вещественное число
  • renderType : перечисление
  • renderTypeQuality : целое число
  • rightPadding : вещественное число
  • style : перечисление
  • styleColor : цвет
  • text : строка
  • textFormat : перечисление
  • topPadding : вещественное число
  • truncated : bool
  • verticalAlignment : перечисление
  • wrapMode : перечисление

Сигналы

  • lineLaidOut(объект строка)
  • linkActivated(строка ссылка)
  • linkHovered(строка ссылка)

Методы

  • forceLayout()
  • linkAt(вещественное число x, вещественное число y)

Подробное описание

Элементы Text могут отображать как обычный, так и форматированный текст. Например, красный текст с определённым шрифтом и размером можно определить так:

Text {
    text: "Hello World!"
    font.family: "Helvetica"
    font.pointSize: 24
    color: "red"
}

Форматированный текст определяется с использованием разметки в стиле HTML:

Text {
    text: "<b>Hello</b> <i>World!</i>"
}

Если высота и ширина не заданы явно, Text попытается определить необходимое пространство и установить его соответственно. Если wrapMode не задан, он всегда отдаёт предпочтение ширине высоте (весь текст будет помещён на одной строке).

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

Обратите внимание, что поддерживаемый подмножество HTML ограничено. Также, если текст содержит теги HTML img, загружающие удалённые изображения, текст перегружается.

Text предоставляет только для чтения текст. Для редактируемого текста см. TextEdit.

См. также Пример шрифтов.

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

[since 5.6] bottomPadding : вещественное число

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

Это свойство QML было введено в Qt 5.6.

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

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

Допустимые значения для horizontalAlignment — Text.AlignLeft, Text.AlignRight, Text.AlignHCenter и Text.AlignJustify. Допустимые значения для verticalAlignment — Text.AlignTop, Text.AlignBottom и Text.AlignVCenter.

Обратите внимание, что для одной строки текста размер текста равен площади текста. В этом общем случае все выравнивания эквивалентны. Если вам нужно, чтобы текст был, скажем, центрирован в его родительском элементе, вам нужно либо изменить Item::anchors, либо установить horizontalAlignment в Text.AlignHCenter и привязать ширину к ширине родителя.

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

[since 5.10] advance : размер

Расстояние в пикселях от базовой точки начала первого символа элемента текста до базовой точки начала первого символа в элементе текста, расположенном непосредственно после этого в потоке текста.

Обратите внимание, что отступ может быть отрицательным, если текст идёт справа налево.

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

antialiasing : bool

Используется для определения того, должен ли Text использовать сглаживание или нет. Только Text с renderType типа Text.NativeRendering может отключить сглаживание.

По умолчанию значение — true.

baseUrl : url

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

URL-адреса разрешаются так, чтобы находиться в той же директории, что и цель базового URL-адреса, то есть любая часть пути после последнего '/' будет игнорироваться.

Базовый URL Относительный URL Разрешенный URL
http://qt-project.org/ images/logo.png http://qt-project.org/images/logo.png
http://qt-project.org/index.html images/logo.png http://qt-project.org/images/logo.png
http://qt-project.org/content images/logo.png http://qt-project.org/content/images/logo.png
http://qt-project.org/content/ images/logo.png http://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.html images/logo.png http://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.html ../images/logo.png http://qt-project.org/images/logo.png
http://qt-project.org/content/index.html /images/logo.png http://qt-project.org/images/logo.png

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

clip : bool

Этот параметр указывает, обрезается ли текст.

Обратите внимание, что если текст не помещается в прямоугольник ограничивающей области, он будет обрублен.

Если вы хотите отобразить потенциально длинный текст в ограниченном пространстве, возможно, вам стоит использовать elide.

color : color

Цвет текста.

Пример зеленого текста, заданного в шестнадцатеричном формате:

Text {
    color: "#00FF00"
    text: "green text"
}

Пример стального синего текста, заданного с использованием имени цвета SVG:

Text {
    color: "steelblue"
    text: "blue text"
}

contentHeight : real

Возвращает высоту текста, включая высоту, выходящую за пределы заданной высоты из-за большего объёма текста.

contentWidth : real

Возвращает ширину текста, включая ширину, выходящую за пределы заданной ширины из-за недостаточного обтекания, если WrapMode задан.

elide : enumeration

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

Этот параметр не может быть использован с форматированным текстом.

Обрезка может быть:

  • Text.ElideNone - по умолчанию
  • Text.ElideLeft
  • Text.ElideMiddle
  • Text.ElideRight

Если этот параметр установлен в Text.ElideRight, он может быть использован с переносным текстом. Текст будет обрезаться только если maximumLineCount, или height был установлен. Если оба maximumLineCount и height установлены, maximumLineCount будет применено, если строки не умещаются в разрешённую высоту.

Если текст является строкой с несколькими длинами, и режим не Text.ElideNone, будет использоваться первая строка, которая подходит, в противном случае последняя будет обрезана.

Строки с несколькими длинами упорядочены от самой длинной до самой короткой, разделенные символом Unicode «Терминатор строки» U009C (пишите это в QML с "\u009C" или "\x9C").

font.bold : bool

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

font.capitalization : enumeration

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

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

font.family : string

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

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

[since 5.8] font.hintingPreference : enumeration

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

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

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

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

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

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

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

Этот параметр был добавлен в Qt 5.8.

font.italic : bool

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

[since 5.10] font.kerning : bool

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

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

Этот параметр был добавлен в Qt 5.10.

font.letterSpacing : real

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

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

font.pixelSize : int

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

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

font.pointSize : real

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

[since 5.10] font.preferShaping : bool

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

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

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

Этот параметр был добавлен в Qt 5.10.

font.strikeout : bool

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

[since 5.6] font.styleName : string

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

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

Этот параметр был добавлен в Qt 5.6.

font.underline : bool

Устанавливает, подчёркнут ли текст.

font.weight : int

Запрашиваемый вес шрифта. Запрашиваемый вес должен быть целым числом от 1 до 1000 или одним из предопределённых значений:

  • Font.Thin
  • Font.Light
  • Font.ExtraLight
  • Font.Normal - по умолчанию
  • Font.Medium
  • Font.DemiBold
  • Font.Bold
  • Font.ExtraBold
  • Font.Black
Text { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

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

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

[since 5.9] fontInfo.bold : bool

Жирный стиль шрифта, который был разрешён для текущего шрифта и fontSizeMode. Это истинно, если начертание разрешённого шрифта — полужирный или более толстый.

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

[since 5.9] fontInfo.family : строка

Имя начертания шрифта, который был разрешён для текущего шрифта и fontSizeMode.

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

[since 5.9] fontInfo.italic : логическое

Состояние начертания курсивом в информации о шрифте, которая была разрешена для текущего шрифта и fontSizeMode.

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

[since 5.9] fontInfo.pixelSize : строка

Размер пикселей в информации о шрифте, которая была разрешена для текущего шрифта и fontSizeMode.

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

[since 5.9] fontInfo.pointSize : вещественный

Значение pointSize в информации о шрифте, которая была разрешена для текущего шрифта и fontSizeMode.

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

[since 5.9] fontInfo.styleName : строка

Имя стиля шрифта в информации о шрифте, которая была разрешена для текущего шрифта и fontSizeMode.

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

[since 5.9] fontInfo.weight : целое

Вес шрифта в информации о шрифте, которая была разрешена для текущего шрифта и fontSizeMode.

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

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

Это свойство определяет, как определяется размер шрифта отображаемого текста. Возможные значения:

  • Text.FixedSize (по умолчанию) - используется размер, указанный в font.pixelSize или font.pointSize.
  • Text.HorizontalFit - используется наибольший размер, не превышающий заданный, который помещается в ширину элемента без переноса на следующую строку.
  • Text.VerticalFit - используется наибольший размер, не превышающий заданный, который помещается по высоте элемента.
  • Text.Fit - используется наибольший размер, не превышающий заданный, который помещается в ширину и высоту элемента.

Размер шрифта подгоняемого текста имеет минимальную границу, указанную свойством minimumPointSize или minimumPixelSize, и максимальную границу, указанную либо свойством font.pointSize, либо свойством font.pixelSize.

Text { text: "Hello"; fontSizeMode: Text.Fit; minimumPixelSize: 10; font.pixelSize: 72 }

Если текст не помещается в пределы элемента с минимальным размером шрифта, текст будет усечён в соответствии со свойством elide.

Если свойство textFormat установлено в значение Text.RichText, это не окажет никакого эффекта, так как свойство будет полностью проигнорировано. Если textFormat установлено в Text.StyledText, тогда свойство будет соблюдаться при условии, что внутри текста нет тегов размера шрифта. Если есть теги размера шрифта, свойство всё равно будет учитывать их. Это может привести к тому, что свойство fontSizeMode не будет полностью соблюдаться.

[since 5.2] hoveredLink : строка

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

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

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

lineCount : целое

Возвращает количество видимых строк в элементе текста.

Это свойство не поддерживается для форматированного текста.

См. также maximumLineCount.

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

Устанавливает высоту строки для текста. Значение может быть в пикселях или в виде множителя, в зависимости от lineHeightMode.

Значение по умолчанию — множитель 1.0. Высота строки должна быть положительным значением.

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

Это свойство определяет, как задаётся высота строки. Возможные значения:

  • Text.ProportionalHeight (по умолчанию) - задаёт интервалы пропорционально строке (в виде множителя). Например, установлено в 2 для двойного интервала.
  • Text.FixedHeight - устанавливает высоту строки в фиксированное значение (в пикселях).

linkColor : цвет

Цвет ссылок в тексте.

Это свойство работает с форматированным текстом textFormat, но не с RichText. Цвет ссылки в RichText можно задать, включив теги стиля CSS в текст.

maximumLineCount : целое

Установите это свойство, чтобы ограничить количество строк, которые будет отображать элемент текста. Если elide установлено в Text.ElideRight, текст будет усечен соответствующим образом. По умолчанию это значение максимального целого числа.

Это свойство не поддерживается для форматированного текста.

См. также lineCount и elide.

minimumPixelSize : целое

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

Если fontSizeMode равен Text.FixedSize или font.pixelSize равен -1, это свойство игнорируется.

minimumPointSize : целое

Это свойство задаёт минимальный размер шрифта в пунктах текста, масштабируемого свойством fontSizeMode.

Если fontSizeMode равен Text.FixedSize или font.pointSize равен -1, это свойство игнорируется.

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

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

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

  • Text.QtRendering
  • Text.NativeRendering

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

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

renderTypeQuality : целое

Переопределить качество типа рендеринга по умолчанию для этого компонента. Это низкоуровневая настройка, которую можно игнорировать в большинстве случаев. В настоящее время она оказывает эффект только при renderType равном Text.QtRendering.

Алгоритм растрирования, используемый Text.QtRendering, может давать артефакты при больших размерах текста, например, острые углы могут выглядеть более закруглёнными, чем должны. Если это проблема для определённых элементов текста, увеличьте значение renderTypeQuality, чтобы улучшить качество рендеринга, за счёт увеличения потребления памяти.

Значение renderTypeQuality может быть любым целым числом больше 0 или одним из следующих предопределённых значений

  • Text.DefaultRenderTypeQuality (по умолчанию) = -1
  • Text.LowRenderTypeQuality = 26
  • Text.NormalRenderTypeQuality = 52
  • Text.HighRenderTypeQuality = 104
  • Text.VeryHighRenderTypeQuality = 208

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

Установить дополнительный стиль текста.

Поддерживаемые стили текста:

  • Text.Normal - по умолчанию
  • Text.Outline
  • Text.Raised
  • Text.Sunken
Row {
    Text { font.pointSize: 24; text: "Normal" }
    Text { font.pointSize: 24; text: "Raised"; style: Text.Raised; styleColor: "#AAAAAA" }
    Text { font.pointSize: 24; text: "Outline";style: Text.Outline; styleColor: "red" }
    Text { font.pointSize: 24; text: "Sunken"; style: Text.Sunken; styleColor: "#AAAAAA" }
}

styleColor : цвет

Определяет вторичный цвет, используемый стилями текста.

styleColor используется в качестве цвета контура для контурного текста и в качестве цвета тени для поднятого или опущенного текста. Если стиль не установлен, он вообще не используется.

Text { font.pointSize: 18; text: "hello"; style: Text.Raised; styleColor: "gray" }

См. также style.

text : строка

Текст для отображения. Текст поддерживает как обычный, так и форматированный текст.

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

См. также textFormat.

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

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

Поддерживаемые форматы текста:

Константа Описание
Text.AutoText (по умолчанию) определяется с помощью эвристики Qt::mightBeRichText()
Text.PlainText все теги стилей обрабатываются как обычный текст
Text.StyledText оптимизированный базовый форматированный текст, как в HTML 3.2
Text.RichText подмножество HTML 4
Text.MarkdownText CommonMark плюс расширения GitHub для таблиц и задач (с версии 5.14)

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

Text.StyledText — это оптимизированный формат, поддерживающий некоторые базовые теги форматирования текста, в стиле HTML 3.2:

<b></b> - bold
<del></del> - strike out (removed content)
<s></s> - strike out (no longer accurate or no longer relevant content)
<strong></strong> - bold
<i></i> - italic
<br> - new line
<p> - paragraph
<u> - underlined text
<font color="color_name" size="1-7"></font>
<h1> to <h6> - headers
<a href=""> - anchor
<img src="" align="top,middle,bottom" width="" height=""> - inline images
<ol type="">, <ul type=""> and <li> - ordered and unordered lists
<pre></pre> - preformatted
All entities

Text.StyledText парсер жёсткий, требующий правильного вложенности тегов.

Column {
    Text {
        font.pointSize: 24
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.RichText
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.PlainText
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.MarkdownText
        text: "**Hello** *World!*"
    }
}

Text.RichText поддерживает большее подмножество HTML 4, как описано на странице Поддерживаемое подмножество HTML. Следует предпочесть использовать Text.PlainText, Text.StyledText или Text.MarkdownText, так как они обеспечивают лучшую производительность.

Примечание: При использовании Text.MarkdownText, и с поддерживаемым подмножеством HTML, некоторые декоративные элементы не отображаются так, как в веб-браузере:

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

truncated : bool

Возвращает true, если текст был усечен из-за maximumLineCount или elide.

Это свойство не поддерживается для форматированного текста.

См. также maximumLineCount и elide.

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

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

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

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

lineLaidOut(объект строка)

Этот сигнал излучается для каждой строки текста, которая выводится во время процесса вывода в режиме обычного или форматированного текста. Он не излучается в режиме форматированного текста. Указанный объект строка предоставляет более подробную информацию о строке, которая сейчас выводится.

Это даёт возможность позиционировать и изменять размер строки по мере её вывода. Например, его можно использовать для создания столбцов или вывода текста вокруг объектов.

Свойства указанного объекта строка:

Имя свойства Описание
номер (только для чтения) Номер строки, начинается с нуля.
x Указывает положение x строки внутри элемента Text
y Указывает положение y строки внутри элемента Text
ширина Указывает ширину строки.
высота Указывает высоту строки.
implicitWidth (только для чтения) Ширина, которую строка будет занимать естественным образом, не учитывая какие-либо изменения, внесённые в ширину.
isLast (только для чтения) Является ли строка последней. Это свойство может измениться, если вы установите свойство ширина в другое значение.

Например, это переместит первые 5 строк элемента Текст на 100 пикселей вправо:

onLineLaidOut: (line)=> {
    if (line.number < 5) {
        line.x = line.x + 100
        line.width = line.width - 100
    }
}

Следующий пример позволит вам расположить элемент в конце последней строки:

onLineLaidOut: (line)=> {
    if (line.isLast) {
        lastLineMarker.x = line.x + line.implicitWidth
        lastLineMarker.y = line.y + (line.height - lastLineMarker.height) / 2
    }
}

Примечание: Соответствующий обработчик — onLineLaidOut.

linkActivated(строка ссылка)

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

    Text {
            textFormat: Text.RichText
            text: "See the <a href=\"http://qt-project.org\">Qt Project website</a>."
            onLinkActivated: (link)=> console.log(link + " link activated")
    }

Пример кода отобразит текст "Посетите сайт Qt Project".

Нажатие на выделенную ссылку выведет http://qt-project.org link activated в консоль.

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

linkHovered(строка ссылка)

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

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

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

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

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

forceLayout()

Вызывает повторный макет отображаемого текста.

Этот метод был представлен в Qt 5.9.

linkAt(вещественное x, вещественное y)

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

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

См. также hoveredLink.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-text.html

Spec-Zone.ru

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