Spec-Zone.ru › Qt 5.6

Класс QTextLine

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

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

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

Типы public

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

Функции public

QTextLine()
qreal ascent() const
qreal cursorToX(int *cursorPos, Edge edge = Leading) const
qreal cursorToX(int cursorPos, Edge edge = Leading) const
qreal descent() const
void draw(QPainter *painter, const QPointF &position, const QTextLayout::FormatRange *selection = Q_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, CursorPosition cpos = CursorBetweenCharacters) const
qreal y() const

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

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

Строка текста обычно создается с помощью QTextLayout::createLine().

После создания строку можно заполнить с помощью функций setLineWidth() или setNumColumns(). Строка имеет ряд атрибутов, включая прямоугольник, который она занимает, rect(), ее координаты, x() и y(), ее длину текста, textLength(), ширину, width(), и естественную ширину naturalTextWidth(), а также ее восходящую и нисходящую части относительно текста. Положение курсора в строке доступно из 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, Edge edge = Leading) const

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

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

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

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

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

qreal QTextLine::descent() const

Возвращает нисходящую часть строки.

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

void QTextLine::draw(QPainter *painter, const QPointF &position, const QTextLayout::FormatRange *selection = Q_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, 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/archives/qt-5.6/qtextline.html

Spec-Zone.ru

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