Spec-Zone.ru › Qt 6.0

Класс QTextLine

Класс QTextLine представляет строку текста внутри QTextLayout. Подробнее...

Заголовок: #include <QTextLine>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевключенными.

Типы public

перечисление CursorPosition { CursorBetweenCharacters, CursorOnCharacter }
перечисление Edge { Leading, Trailing }

Функции public

QTextLine()
qreal ascent() const
qreal cursorToX(int *cursorPos, QTextLine::Edge edge = Leading) const
qreal cursorToX(int cursorPos, QTextLine::Edge edge = Leading) const
qreal descent() const
void draw(QPainter *painter, const QPointF &position) const
QList<QGlyphRun> glyphRuns(int from = -1, int length = -1) const
qreal height() const
qreal horizontalAdvance() const
bool isValid() const
qreal leading() const
bool leadingIncluded() const
int lineNumber() const
QRectF naturalTextRect() const
qreal naturalTextWidth() const
QPointF position() const
QRectF rect() const
void setLeadingIncluded(bool included)
void setLineWidth(qreal width)
void setNumColumns(int numColumns)
void setNumColumns(int numColumns, qreal alignmentWidth)
void setPosition(const QPointF &pos)
int textLength() const
int textStart() const
qreal width() const
qreal x() const
int xToCursor(qreal x, QTextLine::CursorPosition cpos = CursorBetweenCharacters) const
qreal y() const

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

Строка текста обычно создается функцией QTextLayout::createLine().

После создания строка может быть заполнена с помощью функций setLineWidth() или setNumColumns(). Строка имеет ряд атрибутов, включая прямоугольник, который она занимает, rect(), ее координаты, x() и y(), ее textLength(), width() и naturalTextWidth(), а также ее ascent() и descent() относительно текста. Положение курсора в строке доступно из cursorToX(), а обратное преобразование — из xToCursor(). Строку можно переместить с помощью setPosition().

Документация типов членов

перечисление QTextLine::CursorPosition

Константа Значение
QTextLine::CursorBetweenCharacters 0
QTextLine::CursorOnCharacter 1

перечисление QTextLine::Edge

Константа Значение
QTextLine::Leading 0
QTextLine::Trailing 1

Документация функций членов

QTextLine::QTextLine()

Создает недействительную строку.

qreal QTextLine::ascent() const

Возвращает подъем строки.

См. также descent() и height().

qreal QTextLine::cursorToX(int *cursorPos, QTextLine::Edge edge = Leading) const

Преобразует позицию курсора cursorPos в соответствующую позицию x в строке, учитывая edge.

Если cursorPos не является допустимой позицией курсора, будет использована ближайшая допустимая позиция курсора, и cursorPos будет изменен на указание этой допустимой позиции курсора.

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

qreal QTextLine::cursorToX(int cursorPos, QTextLine::Edge edge = Leading) const

Это перегруженная функция.

qreal QTextLine::descent() const

Возвращает спуск строки.

См. также ascent() и height().

void QTextLine::draw(QPainter *painter, const QPointF &position) const

Рисует строку на заданном painter в указанной position.

[since 5.0] QList<QGlyphRun> QTextLine::glyphRuns(int from = -1, int length = -1) const

Возвращает индексы и позиции глифов для всех глифов в этой QTextLine для символов в диапазоне, определяемом from и length. Индекс from относится к началу текста в содержащем QTextLayout, и диапазон должен находиться в диапазоне QTextLine, как задано функциями textStart() и textLength().

Если from отрицательно, по умолчанию он равен textStart(), а если length отрицательно, по умолчанию он равен значению textLength().

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

См. также QTextLayout::glyphRuns().

END_OF_DOCUMENT_MARKER

qreal QTextLine::height() const

Возвращает высоту строки. Она равна ascent() + descent() если отступ не включён. Если отступ включён, то он равен ascent() + descent() + leading().

См. также ascent(), descent(), leading() и setLeadingIncluded().

qreal QTextLine::horizontalAdvance() const

Возвращает горизонтальный отступ текста. Отступ текста — это расстояние от его позиции до следующей позиции, где текст будет естественно нарисован.

Добавление отступа к позиции строки текста и использование этой позиции в качестве позиции второй строки текста позволит расположить две строки рядом без промежутков.

bool QTextLine::isValid() const

Возвращает true если эта строка текста валидна; в противном случае возвращает false.

qreal QTextLine::leading() const

Возвращает отступ строки.

См. также ascent(), descent() и height().

bool QTextLine::leadingIncluded() const

Возвращает true если положительный отступ включён в высоту строки; в противном случае возвращает false.

По умолчанию отступ не включён.

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

int QTextLine::lineNumber() const

Возвращает позицию строки в движке текста.

QRectF QTextLine::naturalTextRect() const

Возвращает прямоугольник, занимаемый строкой.

qreal QTextLine::naturalTextWidth() const

Возвращает ширину строки, занимаемую текстом. Она всегда меньше или равна width(), и представляет собой минимальную ширину, которая может быть использована методом layout() без изменения позиции разрыва строки.

QPointF QTextLine::position() const

Возвращает позицию строки относительно позиции макета текста.

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

QRectF QTextLine::rect() const

Возвращает ограничивающий прямоугольник строки.

См. также x(), y(), textLength() и width().

void QTextLine::setLeadingIncluded(bool included)

Включает положительный отступ в высоту строки, если included имеет значение true; в противном случае отступ не включается.

По умолчанию отступ не включён.

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

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

void QTextLine::setLineWidth(qreal width)

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

void QTextLine::setNumColumns(int numColumns)

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

void QTextLine::setNumColumns(int numColumns, qreal alignmentWidth)

Выстраивает строку. Строка заполняется символами, начиная с её начальной позиции, до тех пор, пока количество символов не достигнет значения numColumns. В случае, если текст не может быть разделён до numColumns символов, строка заполняется символами до следующего пробела или конца текста. Предоставленная ширина alignmentWidth используется в качестве эталонной ширины для выравнивания.

void QTextLine::setPosition(const QPointF &pos)

Перемещает строку в позицию pos.

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

int QTextLine::textLength() const

Возвращает длину текста в строке.

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

int QTextLine::textStart() const

Возвращает начало строки с начала строки, переданной в QTextLayout.

qreal QTextLine::width() const

Возвращает ширину строки, заданную функцией layout().

См. также naturalTextWidth(), x(), y(), textLength() и rect().

qreal QTextLine::x() const

Возвращает x-координату позиции строки.

См. также rect(), y(), textLength() и width().

int QTextLine::xToCursor(qreal x, QTextLine::CursorPosition cpos = CursorBetweenCharacters) const

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

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

qreal QTextLine::y() const

Возвращает y-координату позиции строки.

См. также x(), rect(), textLength() и width().

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

Spec-Zone.ru

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