Spec-Zone.ru › Qt 5.13

Класс 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().

END_OF_DOCUMENT_MARKER

qreal QTextLine::height() const

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

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

qreal QTextLine::horizontalAdvance() const

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

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

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

bool QTextLine::isValid() const

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

qreal QTextLine::leading() const

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

Эта функция была добавлена в 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.13/qtextline.html

Spec-Zone.ru

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