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