Класс QTextBlock
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument. Подробнее...
| Заголовок: | #include <QTextBlock> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются реентерабельными.
Типы публичного доступа
| класс | итератор |
| Итератор |
Функции публичного доступа
| QTextBlock(const QTextBlock &other) | |
| QTextBlock & | operator=(const QTextBlock &other) |
| QTextBlock::итератор | begin() const |
| QTextBlockFormat | blockFormat() const |
| int | blockFormatIndex() const |
| int | номер_блока() const |
| QTextCharFormat | charFormat() const |
| int | charFormatIndex() const |
| void | очиститьМакет() |
| bool | содержит(int position) const |
| const QTextDocument * | документ() const |
| QTextBlock::итератор | end() const |
| int | первыйНомерСтроки() const |
| bool | действителен() const |
| bool | виден() const |
| QTextLayout * | макет() const |
| int | длина() const |
| int | количествоСтрок() const |
| QTextBlock | следующий() const |
| int | позиция() const |
| QTextBlock | предыдущий() const |
| int | ревизия() const |
| void | установитьКоличествоСтрок(int count) |
| void | установитьРевизию(int rev) |
| void | установитьПользовательскиеДанные(QTextBlockUserData *data) |
| void | установитьПользовательскоеСостояние(int state) |
| void | сделатьВидимым(bool visible) |
| QString | текст() const |
| Qt::LayoutDirection | направлениеТекста() const |
| QList<QTextLayout::FormatRange> | форматыТекста() const |
| QTextList * | списокТекста() const |
| QTextBlockUserData * | пользовательскиеДанные() const |
| int | состояниеПользователя() const |
| bool | !=(const QTextBlock &other) const |
| bool | operator<(const QTextBlock &other) const |
| bool | ==(const QTextBlock &other) const |
Подробное описание
Блок текста encapsulates a block or paragraph of text in a QTextDocument. QTextBlock provides read-only access to the block/paragraph structure of QTextDocuments. It is mainly of use if you want to implement your own layouts for the visual representation of a QTextDocument, or if you want to iterate over a document and write out the contents in your own custom format.
Text blocks are created by their parent documents. If you need to create a new text block, or modify the contents of a document while examining its contents, use the cursor-based interface provided by QTextCursor instead.
Each text block is located at a specific position() in a document(). The contents of the block can be obtained by using the text() function. The length() function determines the block's size within the document (including formatting characters). The visual properties of the block are determined by its text layout(), its charFormat(), and its blockFormat().
The next() and previous() functions enable iteration over consecutive valid blocks in a document under the condition that the document is not modified by other means during the iteration process. Note that, although blocks are returned in sequence, adjacent blocks may come from different places in the document structure. The validity of a block can be determined by calling isValid().
QTextBlock provides comparison operators to make it easier to work with blocks: ==() compares two block for equality, !=() compares two blocks for inequality, and operator<() determines whether a block precedes another in the same document.
See also QTextBlockFormat, QTextCharFormat, and QTextFragment.
Documentation for Member Types
QTextBlock::Iterator
Qt-style synonym for QTextBlock::итератор.
Documentation for Member Functions
QTextBlock::QTextBlock(const QTextBlock &other)
Copies the other text block's attributes to this text block.
QTextBlock &QTextBlock::operator=(const QTextBlock &other)
Assigns the other text block to this text block.
QTextBlock::итератор QTextBlock::begin() const
Returns a text block iterator pointing to the beginning of the text block.
See also end().
QTextBlockFormat QTextBlock::blockFormat() const
Returns the QTextBlockFormat that describes block-specific properties.
See also charFormat().
int QTextBlock::blockFormatIndex() const
Возвращает индекс в внутреннем списке форматов блоков документа для формата текстового блока.
См. также QTextDocument::allFormats().
int QTextBlock::blockNumber() const
Возвращает номер этого блока или -1, если блок недействителен.
См. также QTextCursor::blockNumber().
QTextCharFormat QTextBlock::charFormat() const
Возвращает QTextCharFormat, описывающий формат символов блока. Формат символов блока используется при вставке текста в пустой блок.
См. также blockFormat().
int QTextBlock::charFormatIndex() const
Возвращает индекс в внутреннем списке форматов символов документа для формата символов текстового блока.
См. также QTextDocument::allFormats().
void QTextBlock::clearLayout()
Очищает QTextLayout, используемый для выравнивания и отображения содержимого блока.
См. также layout().
bool QTextBlock::contains(int position) const
Возвращает true если заданное position расположено внутри текстового блока; в противном случае возвращает false.
const QTextDocument *QTextBlock::document() const
Возвращает текстовый документ, к которому принадлежит этот текстовый блок, или nullptr если текстовый блок не принадлежит ни одному документу.
QTextBlock::iterator QTextBlock::end() const
Возвращает итератор текстового блока, указывающий на конец текстового блока.
См. также begin(), next() и previous().
int QTextBlock::firstLineNumber() const
Возвращает номер первой строки этого блока или -1, если блок недействителен. Если макет его не поддерживает, номер строки совпадает с номером блока.
См. также QTextBlock::blockNumber().
bool QTextBlock::isValid() const
Возвращает true если этот текстовый блок действителен; в противном случае возвращает false.
bool QTextBlock::isVisible() const
Возвращает true если блок виден; в противном случае возвращает false.
См. также setVisible().
QTextLayout *QTextBlock::layout() const
Возвращает QTextLayout, используемый для выравнивания и отображения содержимого блока.
Обратите внимание, что возвращаемый объект QTextLayout можно модифицировать только в реализации метода documentChanged подкласса QAbstractTextDocumentLayout. Любые внесенные изменения извне вызывают неопределенное поведение.
См. также clearLayout().
int QTextBlock::length() const
Возвращает длину блока в символах.
Примечание: Возвращаемая длина включает все символы форматирования, например, перевод строки.
См. также text(), charFormat() и blockFormat().
int QTextBlock::lineCount() const
Возвращает количество строк. Не все макеты документов поддерживают эту функцию.
См. также setLineCount().
QTextBlock QTextBlock::next() const
Возвращает текстовый блок в документе после этого блока или пустой текстовый блок, если это последний.
Обратите внимание, что следующий блок может находиться в другом фрейме или таблице, чем этот блок.
См. также previous(), begin() и end().
int QTextBlock::position() const
Возвращает индекс первого символа блока в документе.
QTextBlock QTextBlock::previous() const
Возвращает текстовый блок в документе перед этим блоком или пустой текстовый блок, если это первый.
Обратите внимание, что предыдущий блок может находиться в другом фрейме или таблице, чем этот блок.
См. также next(), begin() и end().
int QTextBlock::revision() const
Возвращает номер ревизии блока.
См. также setRevision() и QTextDocument::revision().
void QTextBlock::setLineCount(int count)
Устанавливает количество строк в count.
См. также lineCount().
void QTextBlock::setRevision(int rev)
Устанавливает номер ревизии блока в rev.
См. также revision() и QTextDocument::revision().
void QTextBlock::setUserData(QTextBlockUserData *data)
Присоединяет заданный объект data к текстовому блоку.
QTextBlockUserData может использоваться для хранения пользовательских настроек. Владение передается базовому текстовому документу, т.е. предоставленный объект QTextBlockUserData будет удален, если соответствующий текстовый блок будет удален. Объект пользовательских данных не сохраняется в истории отмены/повторной операции, поэтому он не будет доступен после отмены удаления текстового блока.
Например, если вы пишете редактор программ в IDE, вы можете позволить пользователю визуально задавать точки останова в вашем коде для интегрированного отладчика. В редакторе программ строки текста обычно соответствуют одному QTextBlock. Интерфейс QTextBlockUserData позволяет разработчику хранить данные для каждого QTextBlock, например, в каких строках исходного кода установлен пользователем точка останова. Конечно, это также может храниться вне, но хранение внутри QTextDocument автоматически удалит его при удалении соответствующей строки. Это просто способ сохранить пользовательскую информацию в QTextDocument без использования пользовательских свойств в QTextFormat, которые повлияют на стек отмены/повторной операции.
См. также userData().
void QTextBlock::setUserState(int state)
Хранит указанное целое значение state в текстовом блоке. Это может быть полезно, например, в синтаксическом выделении для хранения состояния анализа текста.
См. также userState().
void QTextBlock::setVisible(bool visible)
Устанавливает видимость блока в visible.
См. также isVisible().
QString QTextBlock::text() const
Возвращает содержимое блока как обычный текст.
См. также length(), charFormat() и blockFormat().
Qt::LayoutDirection QTextBlock::textDirection() const
Возвращает разрешенное направление текста.
Если у блока нет явного направления, он будет определять направление по содержанию блока. Возвращает либо Qt::LeftToRight, либо Qt::RightToLeft.
См. также QTextFormat::layoutDirection(), QString::isRightToLeft() и Qt::LayoutDirection.
[since 5.3] QList<QTextLayout::FormatRange> QTextBlock::textFormats() const
Возвращает параметры форматирования текста блока как список непрерывных диапазонов QTextCharFormat. Формат символов диапазона используется при вставке текста внутри границ диапазона.
Эта функция была добавлена в Qt 5.3.
См. также charFormat() и blockFormat().
QTextList *QTextBlock::textList() const
Если блок представляет собой элемент списка, возвращает список, к которому относится элемент; в противном случае возвращает nullptr.
QTextBlockUserData *QTextBlock::userData() const
Возвращает указатель на объект QTextBlockUserData, если он был задан с помощью setUserData(), или nullptr.
См. также setUserData().
int QTextBlock::userState() const
Возвращает целое значение, ранее заданное с помощью setUserState(), или -1.
См. также setUserState().
bool QTextBlock::operator!=(const QTextBlock &other) const
Возвращает true если этот блок текста отличается от блока текста other.
bool QTextBlock::operator<(const QTextBlock &other) const
Возвращает true если этот блок текста встречается перед блоком текста other в документе.
bool QTextBlock::operator==(const QTextBlock &other) const
Возвращает true если этот блок текста такой же, как блок текста other.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qtextblock.html