Класс QTextFragment
Класс QTextFragment хранит фрагмент текста в QTextDocument с одним QTextCharFormat. Подробнее...
| Заголовок: | #include <QTextFragment> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются перевходными.
Открытые функции
| QTextFragment(const QTextFragment &other) | |
| QTextFragment() | |
| QTextFragment & | operator=(const QTextFragment &other) |
| QTextCharFormat | charFormat() const |
| int | charFormatIndex() const |
| bool | contains(int position) const |
| QList<QGlyphRun> | glyphRuns(int pos = -1, int len = -1) const |
| bool | isValid() const |
| int | length() const |
| int | position() const |
| QString | text() const |
| bool | operator!=(const QTextFragment &other) const |
| bool | operator<(const QTextFragment &other) const |
| bool | operator==(const QTextFragment &other) const |
Подробное описание
Фрагмент текста описывает часть текста, хранящуюся с одним форматом символов. Текст, в котором меняется формат символов, может быть представлен последовательностью фрагментов текста с различными форматами.
Если пользователь редактирует текст в фрагменте и вводит другой формат символов, текст фрагмента будет разделен в каждой точке изменения формата, и будут созданы новые фрагменты. Например, изменение стиля некоторого текста посредине предложения приведет к разделению фрагмента на три отдельных фрагмента: первый и третий с тем же форматом, что и раньше, а второй — с новым стилем. Первый фрагмент будет содержать текст с начала предложения, второй — текст с середины, а третий — текст с конца предложения.
Текст фрагмента и его формат символов можно получить с помощью функций text() и charFormat(). Функция length() возвращает длину текста во фрагменте. position() возвращает позицию в документе начала фрагмента. Чтобы определить, содержит ли фрагмент определенную позицию в документе, используйте функцию contains().
См. также QTextDocument и Структура документа с форматированным текстом.
Документация по функциям-членам
QTextFragment::QTextFragment(const QTextFragment &other)
Копирует содержимое (текст и формат) фрагмента текста other в этот фрагмент текста.
QTextFragment::QTextFragment()
Создает новый пустой фрагмент текста.
QTextFragment &QTextFragment::operator=(const QTextFragment &other)
Присваивает содержимое (текст и формат) фрагмента текста other этому фрагменту текста.
QTextCharFormat QTextFragment::charFormat() const
Возвращает формат символов фрагмента текста.
См. также text().
int QTextFragment::charFormatIndex() const
Возвращает индекс в внутреннем списке форматов символов документа для формата символов фрагмента текста.
См. также QTextDocument::allFormats().
bool QTextFragment::contains(int position) const
Возвращает true если фрагмент текста содержит текст в заданной позиции position в документе; в противном случае возвращает false.
QList<QGlyphRun> QTextFragment::glyphRuns(int pos = -1, int len = -1) const
Возвращает глифы, соответствующие len символам этого фрагмента текста, начиная с позиции pos. Позиции глифов относительны к позиции макета QTextBlock.
Если pos меньше нуля, по умолчанию будет использоваться начало QTextFragment. Если len меньше нуля, по умолчанию будет использоваться длина фрагмента.
См. также QGlyphRun, QTextBlock::layout(), QTextLayout::position() и QPainter::drawGlyphRun().
bool QTextFragment::isValid() const
Возвращает true если это действительный фрагмент текста (т.е. имеет действительную позицию в документе); в противном случае возвращает false.
int QTextFragment::length() const
Возвращает количество символов во фрагменте текста.
См. также text().
int QTextFragment::position() const
Возвращает позицию этого фрагмента текста в документе.
QString QTextFragment::text() const
Возвращает фрагмент текста в виде простого текста.
См. также length() и charFormat().
bool QTextFragment::operator!=(const QTextFragment &other) const
Возвращает true если этот фрагмент текста отличается (в другой позиции) от фрагмента текста other; в противном случае возвращает false.
bool QTextFragment::operator<(const QTextFragment &other) const
Возвращает true если этот фрагмент текста появляется раньше в документе, чем фрагмент текста other; в противном случае возвращает false.
bool QTextFragment::operator==(const QTextFragment &other) const
Возвращает true если этот фрагмент текста такой же (в той же позиции), как фрагмент текста other; в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qtextfragment.html