Spec-Zone.ru › Qt 5.15

Класс QTextLine

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

Заголовок: #include <QTextLine>
qmake: QT += gui
  • Список всех членов, включая унаследованные

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

Типы публичного доступа

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

Функции публичного доступа

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 QTextLayout::FormatRange *selection = nullptr) 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 QTextLayout::FormatRange *selection = nullptr) const

Отрисовывает строку на заданном painter в указанной position. selection предназначен для внутреннего использования.

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

qreal QTextLine::height() const

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

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

qreal QTextLine::horizontalAdvance() const

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

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

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

bool QTextLine::isValid() const

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

qreal QTextLine::leading() const

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

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

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

bool QTextLine::leadingIncluded() const

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

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

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

См. также 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; в противном случае отступ не включается.

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

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

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

См. также 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-5.15/qtextline.html

Spec-Zone.ru

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