Класс QTextDocument
Класс QTextDocument хранит форматированный текст. Подробнее...
| Заголовок: | #include <QTextDocument> |
| qmake: | QT += gui |
| Наследует: | QObject |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые типы
| перечисление | FindFlag { FindBackward, FindCaseSensitively, FindWholeWords } |
| флаги | FindFlags |
| перечисление | MetaInformation { DocumentTitle, DocumentUrl } |
| перечисление | ResourceType { HtmlResource, ImageResource, StyleSheetResource, UserResource } |
| перечисление | Stacks { UndoStack, RedoStack, UndoAndRedoStacks } |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| QTextDocument(QObject *parent = Q_NULLPTR) | |
| QTextDocument(const QString &text, QObject *parent = Q_NULLPTR) | |
| ~QTextDocument() | |
| void | addResource(int type, const QUrl &name, const QVariant &resource) |
| void | adjustSize() |
| QVector<QTextFormat> | allFormats() const |
| int | availableRedoSteps() const |
| int | availableUndoSteps() const |
| QUrl | baseUrl() const |
| QTextBlock | begin() const |
| int | blockCount() const |
| QChar | characterAt(int pos) const |
| int | characterCount() const |
| virtual void | clear() |
| void | clearUndoRedoStacks(Stacks stacksToClear = UndoAndRedoStacks) |
| QTextDocument * | clone(QObject *parent = Q_NULLPTR) const |
| Qt::CursorMoveStyle | defaultCursorMoveStyle() const |
| QFont | defaultFont() const |
| QString | defaultStyleSheet() const |
| QTextOption | defaultTextOption() const |
| QAbstractTextDocumentLayout * | documentLayout() const |
| qreal | documentMargin() const |
| void | drawContents(QPainter *p, const QRectF &rect = QRectF()) |
| QTextBlock | end() const |
| QTextCursor | find(const QString &subString, const QTextCursor &cursor, FindFlags options = FindFlags()) const |
| QTextCursor | find(const QString &subString, int position = 0, FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, int from = 0, FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, int from = 0, FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, const QTextCursor &cursor, FindFlags options = FindFlags()) const |
| QTextBlock | findBlock(int pos) const |
| QTextBlock | findBlockByLineNumber(int lineNumber) const |
| QTextBlock | findBlockByNumber(int blockNumber) const |
| QTextBlock | firstBlock() const |
| qreal | idealWidth() const |
| qreal | indentWidth() const |
| bool | isEmpty() const |
| bool | isModified() const |
| bool | isRedoAvailable() const |
| bool | isUndoAvailable() const |
| bool | isUndoRedoEnabled() const |
| QTextBlock | lastBlock() const |
| int | lineCount() const |
| void | markContentsDirty(int position, int length) |
| int | maximumBlockCount() const |
| QString | metaInformation(MetaInformation info) const |
| QTextObject * | object(int objectIndex) const |
| QTextObject * | objectForFormat(const QTextFormat &f) const |
| int | pageCount() const |
| QSizeF | pageSize() const |
| void | print(QPagedPaintDevice *printer) const |
| void | redo(QTextCursor *cursor) |
| QVariant | resource(int type, const QUrl &name) const |
| int | revision() const |
| QTextFrame * | rootFrame() const |
| void | setBaseUrl(const QUrl &url) |
| void | setDefaultCursorMoveStyle(Qt::CursorMoveStyle style) |
| void | setDefaultFont(const QFont &font) |
| void | setDefaultStyleSheet(const QString &sheet) |
| void | setDefaultTextOption(const QTextOption &option) |
| void | setDocumentLayout(QAbstractTextDocumentLayout *layout) |
| void | setDocumentMargin(qreal margin) |
| void | setHtml(const QString &html) |
| void | setIndentWidth(qreal width) |
| void | setMaximumBlockCount(int maximum) |
| void | setMetaInformation(MetaInformation info, const QString &string) |
| void | setPageSize(const QSizeF &size) |
| void | setPlainText(const QString &text) |
| void | setTextWidth(qreal width) |
| void | setUndoRedoEnabled(bool enable) |
| void | setUseDesignMetrics(bool b) |
| QSizeF | size() const |
| qreal | textWidth() const |
| QString | toHtml(const QByteArray &encoding = QByteArray()) const |
| QString | toPlainText() const |
| void | undo(QTextCursor *cursor) |
| bool | useDesignMetrics() const |
- 31 публичные функции, унаследованные от QObject
Публичные слоты
| void | redo() |
| void | setModified(bool m = true) |
| void | undo() |
- 1 публичный слот, унаследованный от QObject
Сигналы
| void | baseUrlChanged(const QUrl &url) |
| void | blockCountChanged(int newBlockCount) |
| void | contentsChange(int position, int charsRemoved, int charsAdded) |
| void | contentsChanged() |
| void | cursorPositionChanged(const QTextCursor &cursor) |
| void | documentLayoutChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | undoAvailable(bool available) |
| void | undoCommandAdded() |
- 2 сигнала, унаследованные от QObject
Защищённые функции
| virtual QTextObject * | createObject(const QTextFormat &format) |
| virtual QVariant | loadResource(int type, const QUrl &name) |
- 9 защищённых функций, унаследованных от QObject
Дополнительные унаследованные члены
- 11 статических публичных членов, унаследованных от QObject
Подробное описание
Класс QTextDocument хранит форматированный текст.
QTextDocument — это контейнер для структурированных документов с форматированным текстом, обеспечивающий поддержку стилизованного текста и различных типов элементов документа, таких как списки, таблицы, фреймы и изображения. Их можно использовать в QTextEdit или независимо.
Каждый элемент документа описывается связанным объектом формата. Каждый объект формата обрабатывается QTextDocuments как уникальный объект и может быть передан в objectForFormat(), чтобы получить элемент документа, к которому он применяется.
QTextDocument может быть изменён программно с помощью QTextCursor, а его содержимое может быть просмотрено путём обхода структуры документа. Вся структура документа хранится как иерархия элементов документа под корневым фреймом, найденная функцией rootFrame(). В качестве альтернативы, если вы просто хотите пройтись по текстовому содержимому документа, вы можете использовать begin(), end() и findBlock() для получения текстовых блоков, которые вы можете просмотреть и пройтись по ним.
Макет документа определяется documentLayout; вы можете создать свой собственный подкласс QAbstractTextDocumentLayout и установить его с помощью setDocumentLayout(), если вы хотите использовать свою собственную логику макета. Заголовок документа и другую метаинформацию можно получить, вызвав функцию metaInformation(). Для документов, которые доступны пользователям через класс QTextEdit, заголовок документа также доступен через функцию QTextEdit::documentTitle().
Функции toPlainText() и toHtml() позволяют получить содержимое документа как простой текст и HTML. Текст документа можно искать с помощью функций find().
Откат/повтор операций, выполненных над документом, можно контролировать с помощью функции setUndoRedoEnabled(). Систему отката/повтора можно управлять с помощью виджета редактора через слоты undo() и redo(); документ также предоставляет сигналы contentsChanged(), undoAvailable() и redoAvailable(), которые информируют подключённые виджеты редактора о состоянии системы отката/повтора. Вот операции отката/повтора в QTextDocument:
- Вставка или удаление символов. Последовательность вставок или удалений в пределах одного текстового блока рассматривается как одна операция отката/повтора.
- Вставка или удаление текстовых блоков. Последовательности вставки или удаления в одной операции (например, выбор и последующее удаление текста) считаются одной операцией отката/повтора.
- Изменения формата символов текста.
- Изменения формата текстовых блоков.
- Изменения формата группы текстовых блоков.
См. также QTextCursor, QTextEdit, Обработка форматированного текста и Пример объекта текста.
Документация по типам членов
Перечисление QTextDocument::FindFlagflags QTextDocument::FindFlags
Это перечисление описывает доступные опции для функции поиска QTextDocument. Опции могут быть объединены по оператору ИЛИ из следующего списка:
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::FindBackward |
0x00001 |
Искать в обратном направлении вместо прямого. |
QTextDocument::FindCaseSensitively |
0x00002 |
По умолчанию поиск выполняется без учета регистра. Указание этого параметра изменяет поведение на поиск, учитывающий регистр. |
QTextDocument::FindWholeWords |
0x00004 |
Принуждает поиск соответствовать только целым словам. |
Тип FindFlags является псевдонимом для QFlags<FindFlag>. Он хранит логическое ИЛИ сочетание значений FindFlag.
enum QTextDocument::MetaInformation
Этот перечисление описывает различные типы метаданных, которые могут быть добавлены в документ.
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::DocumentTitle |
0 |
Заголовок документа. |
QTextDocument::DocumentUrl |
1 |
URL документа. Функция loadResource() использует этот URL в качестве базового при загрузке относительных ресурсов. |
См. также metaInformation() и setMetaInformation().
enum QTextDocument::ResourceType
Это перечисление описывает типы ресурсов, которые могут быть загружены функцией QTextDocument's loadResource().
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::HtmlResource |
1 |
Ресурс содержит HTML. |
QTextDocument::ImageResource |
2 |
Ресурс содержит данные изображения. В настоящее время поддерживаются типы данных QVariant::Pixmap и QVariant::Image. Если соответствующий вариант имеет тип QVariant::ByteArray, Qt пытается загрузить изображение с помощью QImage::loadFromData. QVariant::Icon в настоящее время не поддерживается. Иконка должна быть преобразована в один из поддерживаемых типов, например, с помощью QIcon::pixmap. |
QTextDocument::StyleSheetResource |
3 |
Ресурс содержит CSS. |
QTextDocument::UserResource |
100 |
Первое доступное значение для пользовательских типов ресурсов. |
См. также loadResource().
enum QTextDocument::Stacks
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::UndoStack |
0x01 |
Стек отмены. |
QTextDocument::RedoStack |
0x02 |
Стек повторного выполнения. |
QTextDocument::UndoAndRedoStacks |
UndoStack | RedoStack |
И стек отмены, и стек повторного выполнения. |
Документация свойств
baseUrl : QUrl
Это свойство содержит базовый URL, используемый для разрешения относительных URL-адресов ресурсов в документе.
URL-адреса ресурсов разрешаются в той же директории, что и целевой базовый URL, что означает, что любая часть пути после последнего '/' будет проигнорирована.
| Базовый URL | Относительный URL | Разрешенный URL |
|---|---|---|
| file:///path/to/content | images/logo.png | file:///path/to/images/logo.png |
| file:///path/to/content/ | images/logo.png | file:///path/to/content/images/logo.png |
| file:///path/to/content/index.html | images/logo.png | file:///path/to/content/images/logo.png |
| file:///path/to/content/images/ | ../images/logo.png | file:///path/to/content/images/logo.png |
Это свойство было добавлено в Qt 5.3.
Функции доступа:
| QUrl | baseUrl() const |
| void | setBaseUrl(const QUrl &url) |
Сигнал уведомления:
| void | baseUrlChanged(const QUrl &url) |
blockCount : const int
Возвращает количество текстовых блоков в документе.
Значение этого свойства не определено в документах с таблицами или кадрами.
По умолчанию, если определено, это свойство содержит значение 1.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | blockCount() const |
См. также lineCount() и characterCount().
defaultFont : QFont
Это свойство содержит шрифт по умолчанию, используемый для отображения текста документа.
Функции доступа:
| QFont | defaultFont() const |
| void | setDefaultFont(const QFont &font) |
defaultStyleSheet : QString
Стиль по умолчанию применяется ко всему новому HTML-форматированному тексту, который вставляется в документ, например, с помощью setHtml() или QTextCursor::insertHtml().
Стиль должен соответствовать синтаксису CSS 2.1.
Примечание: Изменение стиля по умолчанию не влияет на существующее содержимое документа.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| QString | defaultStyleSheet() const |
| void | setDefaultStyleSheet(const QString &sheet) |
См. также Поддержка HTML-подмножества.
defaultTextOption : QTextOption
Это свойство содержит опцию текста по умолчанию, которая будет установлена для всех QTextLayout в документе.
Когда создаются QTextBlocks, defaultTextOption устанавливается на их QTextLayout. Это позволяет устанавливать глобальные свойства для документа, такие как режим перевода слов по умолчанию.
Функции доступа:
| QTextOption | defaultTextOption() const |
| void | setDefaultTextOption(const QTextOption &option) |
documentMargin : qreal
Отступ вокруг документа. По умолчанию 4.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| qreal | documentMargin() const |
| void | setDocumentMargin(qreal margin) |
indentWidth : qreal
Возвращает ширину, используемую для отступов списков и блоков текста.
Свойства отступа QTextListFormat и QTextBlockFormat задают кратные этому значению. По умолчанию ширина отступа равна 40.
Это свойство было добавлено в Qt 4.4.
Функции доступа:
| qreal | indentWidth() const |
| void | setIndentWidth(qreal width) |
maximumBlockCount : int
Устанавливает предел для блоков в документе.
Устанавливает максимальное количество блоков, которое может содержать документ. Если в документе больше блоков, чем указано в этом свойстве, блоки удаляются с начала документа.
Отрицательное или нулевое значение указывает, что документ может содержать неограниченное количество блоков.
Значение по умолчанию равно 0.
Обратите внимание, что установка этого свойства немедленно применит ограничение к содержимому документа.
Установка этого свойства также отключает историю отмены-повтор.
Это свойство не определено в документах с таблицами или кадрами.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
modified : bool
Это свойство указывает, был ли документ изменён пользователем.
По умолчанию, это свойство равно false.
Функции доступа:
| bool | isModified() const |
| void | setModified(bool m = true) |
См. также modificationChanged().
pageSize : QSizeF
Это свойство содержит размер страницы, который должен использоваться для вывода документа.
Единицы определяются базовым устройством отрисовки. Размер измеряется в логических пикселях при отрисовке на экран и в пунктах (1/72 дюйма) при отрисовке на принтере.
По умолчанию, для вновь созданного пустого документа, это свойство содержит неопределённый размер.
Функции доступа:
| QSizeF | pageSize() const |
| void | setPageSize(const QSizeF &size) |
См. также modificationChanged().
size : const QSizeF
Возвращает фактический размер документа. Это эквивалентно documentLayout()->documentSize();
Размер документа можно изменить, установив ширину текста или размер всей страницы.
Обратите внимание, что ширина всегда >= pageSize().width().
По умолчанию, для вновь созданного пустого документа, это свойство содержит размер, зависящий от конфигурации.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| QSizeF | size() const |
См. также setTextWidth(), setPageSize(), и idealWidth().
textWidth : qreal
Ширина текста задает предпочтительную ширину текста в документе. Если текст (или содержимое в целом) шире указанной, он разбивается на несколько строк и увеличивается по вертикали. Если текст нельзя разбить на несколько строк для размещения в указанной ширине текста, он будет больше, а свойства size() и idealWidth() отразят это.
Если ширина текста установлена в -1, то текст не будет разбиваться на несколько строк, если только это не будет сделано явно с помощью явного разрыва строки или нового абзаца.
Значение по умолчанию равно -1.
Установка ширины текста также установит высоту страницы в -1, что приведет к вертикальному росту или уменьшению документа непрерывным способом. Если вы хотите, чтобы макет документа разбивал текст на несколько страниц, то вместо этого необходимо установить свойство pageSize.
Это свойство было введено в Qt 4.2.
Функции доступа:
| qreal | textWidth() const |
| void | setTextWidth(qreal width) |
См. также size(), idealWidth(), и pageSize().
undoRedoEnabled : bool
Это свойство указывает, включены ли отмена/повтор для данного документа.
По умолчанию значение равно true. Если отключено, стек отмены очищается, и в него не будут добавляться элементы.
Функции доступа:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
useDesignMetrics : bool
Это свойство указывает, использует ли документ метрики дизайна шрифтов для повышения точности расположения текста.
Если это свойство установлено в true, для выравнивания будет использоваться метрика дизайна. В противном случае будут использоваться метрики устройства отрисовки, установленные в QAbstractTextDocumentLayout::setPaintDevice().
Использование метрик дизайна приводит к тому, что ширина выравнивания больше не зависит от выравнивания и округления пикселей. Это означает, что WYSIWYG-выравнивание текста становится возможным, так как ширина масштабируется значительно линейнее на основе метрик устройства отрисовки, чем в противном случае.
По умолчанию это свойство равно false.
Это свойство было введено в Qt 4.1.
Функции доступа:
| bool | useDesignMetrics() const |
| void | setUseDesignMetrics(bool b) |
Документация по членам-функциям
QTextDocument::QTextDocument(QObject *parent = Q_NULLPTR)
Конструирует пустой QTextDocument с заданным parent.
QTextDocument::QTextDocument(const QString &text, QObject *parent = Q_NULLPTR)
Конструирует QTextDocument, содержащий указанный простой (неформатированный) текст text, и с заданным parent.
QTextDocument::~QTextDocument()
Удаляет документ.
void QTextDocument::addResource(int type, const QUrl &name, const QVariant &resource)
Добавляет ресурс resource в кэш ресурсов, используя type и name в качестве идентификаторов. type должен быть значением из QTextDocument::ResourceType.
Например, вы можете добавить изображение как ресурс для ссылки на него внутри документа:
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image)); Изображение можно вставить в документ с помощью API QTextCursor:
QTextImageFormat imageFormat;
imageFormat.setName("mydata://image.png");
cursor.insertImage(imageFormat); Кроме того, вы можете вставлять изображения с помощью HTML-тега img:
editor->append("<img src=\"mydata://image.png\" />"); void QTextDocument::adjustSize()
Настраивает размер документа на разумное значение.
Эта функция была введена в Qt 4.2.
См. также idealWidth(), textWidth и size.
QVector<QTextFormat> QTextDocument::allFormats() const
Возвращает вектор текстовых форматов для всех используемых в документе форматов.
int QTextDocument::availableRedoSteps() const
Возвращает количество доступных шагов повтора.
Эта функция была введена в Qt 4.6.
См. также isRedoAvailable().
int QTextDocument::availableUndoSteps() const
Возвращает количество доступных шагов отмены.
Эта функция была введена в Qt 4.6.
См. также isUndoAvailable().
QTextBlock QTextDocument::begin() const
Возвращает первый блок текста документа.
См. также firstBlock().
[signal] void QTextDocument::blockCountChanged(int newBlockCount)
Этот сигнал испускается, когда общее количество блоков текста в документе изменяется. Переданное значение newBlockCount — это новое общее количество.
Эта функция была введена в Qt 4.3.
QChar QTextDocument::characterAt(int pos) const
Возвращает символ в позиции pos или нулевой символ, если позиция находится вне диапазона.
Эта функция была введена в Qt 4.5.
См. также characterCount().
int QTextDocument::characterCount() const
Возвращает количество символов в этом документе.
Эта функция была введена в Qt 4.5.
См. также blockCount() и characterAt().
[virtual] void QTextDocument::clear()
Очищает документ.
void QTextDocument::clearUndoRedoStacks(Stacks stacksToClear = UndoAndRedoStacks)
Очищает стеки, указанные stacksToClear.
Этот метод очищает все команды в стеке отмены, стеке повтора или обоих (по умолчанию). Если команды очищены, испускаются соответствующие сигналы, QTextDocument::undoAvailable() или QTextDocument::redoAvailable().
Эта функция была введена в Qt 4.7.
См. также QTextDocument::undoAvailable() и QTextDocument::redoAvailable().
QTextDocument *QTextDocument::clone(QObject *parent = Q_NULLPTR) const
Создаёт новый QTextDocument, который является копией этого текстового документа. parent — родитель возвращаемого текстового документа.
[signal] void QTextDocument::contentsChange(int position, int charsRemoved, int charsAdded)
Этот сигнал испускается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или при применении форматирования.
Предоставляется информация о позиции символа в документе, где произошли изменения (position), количестве удаленных символов (charsRemoved) и количестве добавленных символов (charsAdded).
Сигнал испускается перед тем, как менеджер выравнивания документа получает уведомление об изменении. Этот крючок позволяет реализовать подсветку синтаксиса для документа.
См. также QAbstractTextDocumentLayout::documentChanged() и contentsChanged().
[signal] void QTextDocument::contentsChanged()
Этот сигнал испускается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или при применении форматирования.
См. также contentsChange().
[virtual protected] QTextObject *QTextDocument::createObject(const QTextFormat &format)
Создаёт и возвращает новый объект документа (объект QTextObject) на основе заданного format.
QTextObjects всегда создаются с помощью этого метода, поэтому вы должны переопределить его, если используете пользовательские текстовые объекты внутри документа.
[signal] void QTextDocument::cursorPositionChanged(const QTextCursor &cursor)
Этот сигнал испускается всякий раз, когда положение курсора изменяется в результате операции редактирования. Курсор, который изменился, передаётся в cursor. Если документ используется с классом QTextEdit, и вам нужен сигнал при перемещении курсора с помощью клавиш со стрелками, вы можете использовать сигнал cursorPositionChanged() в классе QTextEdit.
Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const
Стиль перемещения курсора по умолчанию используется всеми объектами QTextCursor, созданными из документа. По умолчанию это Qt::LogicalMoveStyle.
Эта функция была добавлена в Qt 4.8.
См. также setDefaultCursorMoveStyle().
QFont QTextDocument::defaultFont() const
Возвращает шрифт по умолчанию, используемый в макете документа.
Примечание: Функция-геттер для свойства defaultFont.
См. также setDefaultFont().
QTextOption QTextDocument::defaultTextOption() const
Параметр текста по умолчанию используется для всех объектов QTextLayout в документе. Это позволяет задавать глобальные свойства для документа, такие как режим перевода слов по умолчанию.
Эта функция была добавлена в Qt 4.3.
Примечание: Функция-геттер для свойства defaultTextOption.
См. также setDefaultTextOption().
QAbstractTextDocumentLayout *QTextDocument::documentLayout() const
Возвращает макет документа для этого документа.
См. также setDocumentLayout().
[signal] void QTextDocument::documentLayoutChanged()
Этот сигнал испускается при установке нового макета документа.
Эта функция была добавлена в Qt 4.4.
См. также setDocumentLayout().
void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())
Рисует содержимое документа с помощью painter p, ограниченного прямоугольником rect. Если rect — это нулевой прямоугольник (по умолчанию), то документ рисуется без обрезки.
Эта функция была добавлена в Qt 4.2.
QTextBlock QTextDocument::end() const
Эта функция возвращает блок для проверки конца документа при итерации по нему.
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
cout << it.text().toStdString() << endl; Возвращаемый блок недействителен и представляет блок после последнего блока в документе. Вы можете использовать lastBlock() для получения последнего действительного блока документа.
См. также lastBlock().
QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, FindFlags options = FindFlags()) const
Ищет следующее вхождение строки subString в документе. Поиск начинается с позиции заданного cursor и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если subString найдено; в противном случае возвращает нулевой курсор.
Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск регистрозависимый и может находить текст в любом месте документа.
QTextCursor QTextDocument::find(const QString &subString, int position = 0, FindFlags options = FindFlags()) const
Это перегруженная функция.
Ищет следующее вхождение строки subString в документе. Поиск начинается с заданной позиции position и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если subString найдено; в противном случае возвращает нулевой курсор.
Если position равно 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается с указанной позиции.
QTextCursor QTextDocument::find(const QRegExp &expr, int from = 0, FindFlags options = FindFlags()) const
Это перегруженная функция.
Ищет следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с заданной позиции from и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска. Опция FindCaseSensitively игнорируется для этой перегрузки, используйте QRegExp::caseSensitivity вместо неё.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается с указанной позиции.
QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options = FindFlags()) const
Это перегруженная функция.
Ищет следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с позиции заданного cursor и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска. Опция FindCaseSensitively игнорируется для этой перегрузки, используйте QRegExp::caseSensitivity вместо неё.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск регистрозависимый и может находить текст в любом месте документа.
QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, FindFlags options = FindFlags()) const
Ищет следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с заданной позиции from и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается с указанной позиции.
Эта функция была добавлена в Qt 5.5.
QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, FindFlags options = FindFlags()) const
Ищет следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с позиции заданного cursor и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск регистрозависимый и может находить текст в любом месте документа.
Эта функция была добавлена в Qt 5.5.
QTextBlock QTextDocument::findBlock(int pos) const
Возвращает блок текста, содержащий символ с номером pos.
QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const
Возвращает блок текста, содержащий указанную строку lineNumber.
Эта функция была добавлена в Qt 4.5.
См. также QTextBlock::firstLineNumber().
QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const
Возвращает блок текста с указанным номером blockNumber.
Эта функция была добавлена в Qt 4.4.
См. также QTextBlock::blockNumber().
QTextBlock QTextDocument::firstBlock() const
Возвращает первый блок текста документа.
Эта функция была добавлена в Qt 4.4.
qreal QTextDocument::idealWidth() const
Возвращает идеальную ширину текстового документа. Идеальная ширина — это фактически используемая ширина документа без учёта дополнительных выравниваний. Она всегда <= size().width().
Эта функция была добавлена в Qt 4.2.
См. также adjustSize() и textWidth.
bool QTextDocument::isEmpty() const
Возвращает true если документ пуст; в противном случае возвращает false.
bool QTextDocument::isRedoAvailable() const
Возвращает true если повторное действие доступно; в противном случае возвращает false.
См. также isUndoAvailable() и availableRedoSteps().
bool QTextDocument::isUndoAvailable() const
Возвращает true если действие отмены доступно; в противном случае возвращает false.
См. также isRedoAvailable() и availableUndoSteps().
QTextBlock QTextDocument::lastBlock() const
Возвращает последний (действительный) блок текста документа.
Эта функция была добавлена в Qt 4.4.
int QTextDocument::lineCount() const
Возвращает количество строк в этом документе (если макет поддерживает это). В противном случае, это идентично количеству блоков.
Эта функция была добавлена в Qt 4.5.
См. также blockCount() и characterCount().
[virtual protected] QVariant QTextDocument::loadResource(int type, const QUrl &name)
Загружает данные указанного типа type из ресурса с заданным именем name.
Эта функция вызывается движком форматирования Rich Text для запроса данных, которые не хранятся напрямую в QTextDocument, но всё ещё связаны с ним. Например, изображения косвенно ссылаются на атрибут имени объекта QTextImageFormat.
При вызове Qt, type является одним из значений перечисления QTextDocument::ResourceType.
Если QTextDocument является дочерним объектом объекта QObject, который имеет вызываемый метод loadResource, такой как QTextEdit, QTextBrowser или сам QTextDocument, то реализация по умолчанию пытается извлечь данные из родителя.
void QTextDocument::markContentsDirty(int position, int length)
Помечает содержимое, заданное заданным position и length, как «грязное», сообщая документу, что его необходимо снова выложить.
QString QTextDocument::metaInformation(MetaInformation info) const
Возвращает метаинформацию о документе указанного типа info.
См. также setMetaInformation().
[signal] void QTextDocument::modificationChanged(bool changed)
Этот сигнал излучается всякий раз, когда содержимое документа изменяется таким образом, что влияет на состояние изменения. Если changed истинно, документ был изменён; в противном случае это ложь.
Например, вызов setModified(false) для документа, а затем вставка текста, вызывает излучение сигнала. Если вы отменяете эту операцию, возвращая документ к его исходному неизменённому состоянию, сигнал снова излучается.
QTextObject *QTextDocument::object(int objectIndex) const
Возвращает текстовый объект, связанный с данным objectIndex.
QTextObject *QTextDocument::objectForFormat(const QTextFormat &f) const
Возвращает текстовый объект, связанный с форматом f.
int QTextDocument::pageCount() const
Возвращает количество страниц в этом документе.
void QTextDocument::print(QPagedPaintDevice *printer) const
Печатает документ в заданный printer. QPageablePaintDevice должен быть настроен перед использованием с этой функцией.
Это только удобный метод для печати всего документа в принтер.
Если документ уже распечатан на определённую высоту в свойстве pageSize(), он печатается как есть.
Если документ не постраничен, например, документ, используемый в QTextEdit, то создаётся временная копия документа, и копия разбивается на несколько страниц в соответствии с размером свойства paint device's paperRect(). По умолчанию устанавливается отступ в 2 см вокруг содержимого документа. Кроме того, текущий номер страницы печатается внизу каждой страницы.
См. также QTextEdit::print().
void QTextDocument::redo(QTextCursor *cursor)
Повторяет последнюю операцию редактирования в документе, если повторное действие доступно.
Предоставленный cursor позиционируется в конце места, где операция редактирования была повторена.
Эта функция была добавлена в Qt 4.2.
[slot] void QTextDocument::redo()
Это перегруженная функция.
Повторяет последнюю операцию редактирования в документе, если повторное действие доступно.
[signal] void QTextDocument::redoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции повтора становятся доступными (available истина) или недоступными (available ложь).
QVariant QTextDocument::resource(int type, const QUrl &name) const
Возвращает данные указанного типа type из ресурса с заданным именем name.
Эта функция вызывается движком форматирования Rich Text для запроса данных, которые не хранятся напрямую в QTextDocument, но всё ещё связаны с ним. Например, изображения косвенно ссылаются на атрибут имени объекта QTextImageFormat.
Ресурсы кешируются внутри документа. Если ресурс не найден в кэше, вызывается loadResource для попытки загрузки ресурса. loadResource должен затем использовать addResource для добавления ресурса в кэш.
См. также QTextDocument::ResourceType.
int QTextDocument::revision() const
Возвращает версию документа (если включена отмена).
Гарантируется, что версия увеличится, когда документ, который не изменён, редактируется.
Эта функция была добавлена в Qt 4.4.
См. также QTextBlock::revision() и isModified().
QTextFrame *QTextDocument::rootFrame() const
Возвращает корневой фрейм документа.
void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)
Устанавливает стиль перемещения курсора по умолчанию в указанный style.
Эта функция была добавлена в Qt 4.8.
См. также defaultCursorMoveStyle().
void QTextDocument::setDefaultFont(const QFont &font)
Устанавливает шрифт по умолчанию для использования в макете документа.
Примечание: Метод-сеттер для свойства defaultFont.
См. также defaultFont().
void QTextDocument::setDefaultTextOption(const QTextOption &option)
Устанавливает опцию текста по умолчанию в option.
Эта функция была добавлена в Qt 4.3.
Примечание: Метод-сеттер для свойства defaultTextOption.
См. также defaultTextOption().
void QTextDocument::setDocumentLayout(QAbstractTextDocumentLayout *layout)
Устанавливает для документа заданный layout. Предыдущий макет удаляется.
См. также documentLayoutChanged().
void QTextDocument::setHtml(const QString &html)
Заменяет всё содержимое документа заданным HTML-форматированным текстом в строке html. История отмены/повтора сбрасывается при вызове этой функции.
Форматирование HTML учитывается по возможности; например, "<b>жирный</b> текст" создаст текст, где первое слово имеет начертание, придающее ему жирный вид: "жирный текст".
Примечание: Ответственность за корректное декодирование текста ложится на вызывающую сторону, когда создаётся QString содержащий HTML и передаётся в setHtml().
См. также setPlainText() и Поддерживаемый подмножество HTML.
void QTextDocument::setIndentWidth(qreal width)
Устанавливает width, используемый для отступа списков и блоков текста.
Свойства отступа QTextListFormat и QTextBlockFormat задают кратные этому значению. Значение отступа по умолчанию составляет 40.
Функция была добавлена в Qt 4.4.
Примечание: Функция-сеттер для свойства indentWidth.
См. также indentWidth().
void QTextDocument::setMetaInformation(MetaInformation info, const QString &string)
Устанавливает метаданные документа типа, указанного info, заданному значению string.
См. также metaInformation().
void QTextDocument::setPlainText(const QString &text)
Заменяет все содержимое документа заданным простым текстом text. История отмены/повторения сброшена при вызове этой функции.
См. также setHtml().
QString QTextDocument::toHtml(const QByteArray &encoding = QByteArray()) const
Возвращает строку, содержащую HTML-представление документа.
Параметр encoding задает значение для атрибута charset в заголовке html. Например, если указано 'utf-8', то начало сгенерированного html будет выглядеть так:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>...
Если кодировка не указана, такая метаинформация не генерируется.
Если позже вы преобразуете возвращенную строку html в массив байтов для передачи по сети или сохранения на диск, вы должны указать кодировку, которую вы собираетесь использовать для преобразования в массив байтов здесь.
См. также Поддерживаемый подмножество HTML.
QString QTextDocument::toPlainText() const
Возвращает обычный текст, содержащийся в документе. Если вам необходима информация о форматировании, используйте QTextCursor вместо этого.
Примечание: Встроенные объекты, такие как изображения, представляются значением Unicode U+FFFC (символ замены объекта).
См. также toHtml().
void QTextDocument::undo(QTextCursor *cursor)
Отменяет последнее действие редактирования в документе, если отмена доступна. Предоставленный cursor позиционируется в конце местоположения, где действие редактирования было отменено.
См. документацию по Qt Undo Framework для получения подробностей.
Функция была добавлена в Qt 4.2.
См. также undoAvailable() и isUndoRedoEnabled().
[slot] void QTextDocument::undo()
Это перегруженная функция.
[signal] void QTextDocument::undoAvailable(bool available)
Этот сигнал подаётся всякий раз, когда операции отмены становятся доступными (available истинно) или недоступными (available ложно).
См. документацию по Qt Undo Framework для получения подробностей.
См. также undo() и isUndoRedoEnabled().
[signal] void QTextDocument::undoCommandAdded()
Этот сигнал подаётся каждый раз, когда к QTextDocument добавляется новый уровень отмены.
Функция была добавлена в Qt 4.4.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qtextdocument.html