Класс QTextDocument
Класс QTextDocument хранит форматированный текст. Подробнее...
| Заголовок: | #include <QTextDocument> |
| qmake: | QT += gui |
| Наследует: | QObject |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые типы
| Перечисление | FindFlag { Назад, С учётом регистра, Целые слова } |
| Флаги | FindFlags |
| Перечисление | MetaInformation { Заголовок документа, URL документа } |
| Перечисление | ResourceType { Ресурс HTML, Ресурс изображения, Ресурс таблицы стилей, Пользовательский ресурс } |
| Перечисление | Stacks { Стек отмены, Стек повторения, Стеки отмены и повторения } |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| QTextDocument(QObject *parent = nullptr) | |
| QTextDocument(const QString &text, QObject *parent = nullptr) | |
| virtual | ~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(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks) |
| QTextDocument * | clone(QObject *parent = 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, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::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(QTextDocument::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 | установитьСтильПоУмолчанию(const QString &sheet) |
| void | установитьПараметрТекстаПоУмолчанию(const QTextOption &option) |
| void | установитьМакетДокумента(QAbstractTextDocumentLayout *layout) |
| void | установитьПоляДокумента(qreal margin) |
| void | установитьHtml(const QString &html) |
| void | установитьОтступ(qreal width) |
| void | установитьМаксимальноеКоличествоБлоков(int maximum) |
| void | установитьМетаинформацию(QTextDocument::MetaInformation info, const QString &string) |
| void | установитьРазмерСтраницы(const QSizeF &size) |
| void | установитьОбычныйТекст(const QString &text) |
| void | установитьШиринаТекста(qreal width) |
| void | включитьОтменуВозврат(bool enable) |
| void | использоватьДизайнерскиеМетрики(bool b) |
| QSizeF | размер() const |
| qreal | ширинаТекста() const |
| QString | вHtml(const QByteArray &encoding = QByteArray()) const |
| QString | вОбычныйТекст() const |
| QString | вНеобработанныйТекст() const |
| void | отменить(QTextCursor *cursor) |
| bool | использоватьДизайнерскиеМетрики() const |
- 34 public functions inherited from QObject
Public Slots
| void | повторить() |
| void | изменить(bool m = true) |
| void | отменить() |
- 1 public slot inherited from QObject
Сигналы
| void | изменилсяBaseUrl(const QUrl &url) |
| void | изменилосьКоличествоБлоков(int newBlockCount) |
| void | изменилисьДанные(int position, int charsRemoved, int charsAdded) |
| void | изменилисьДанные() |
| void | измениласьПозицияКурсора(const QTextCursor &cursor) |
| void | изменилсяМакетДокумента() |
| void | изменилосьИзменение(bool changed) |
| void | доступноПовторение(bool available) |
| void | доступнаОтмена(bool available) |
| void | добавленоКомандаОтмены() |
- 2 signals inherited from QObject
Защищенные Функции
| virtual QTextObject * | создатьОбъект(const QTextFormat &format) |
| virtual QVariant | загрузитьРесурс(int type, const QUrl &name) |
- 9 protected functions inherited from QObject
Дополнительные унаследованные члены
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 2 protected variables inherited from 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, Обработка форматированного текста и Пример объекта текста.
Документация по типам членов
enum QTextDocument::FindFlagflags QTextDocument::FindFlags
Этот перечисление описывает доступные опции для функции поиска QTextDocument. Опции могут быть объединены с помощью операции OR из следующего списка:
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::FindBackward |
0x00001 |
Производить поиск в обратном порядке вместо прямого. |
QTextDocument::FindCaseSensitively |
0x00002 |
По умолчанию поиск выполняется без учёта регистра. Указание этой опции меняет поведение на поиск с учётом регистра. |
QTextDocument::FindWholeWords |
0x00004 |
Осуществляет поиск только целых слов. |
Тип FindFlags является псевдонимом для QFlags<FindFlag>. Он хранит объединение значений FindFlag с помощью операции OR.
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 = nullptr)
Создаёт пустой QTextDocument с заданным parent.
QTextDocument::QTextDocument(const QString &text, QObject *parent = nullptr)
Создаёт QTextDocument, содержащий указанный простой (неформатированный) текст text, с заданным parent.
[virtual] 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(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)
Очищает стеки, указанные в stacksToClear.
Этот метод очищает все команды в стеке отмены, стеке повтора или обоих (по умолчанию). Если команды очищены, генерируются соответствующие сигналы, QTextDocument::undoAvailable() или QTextDocument::redoAvailable().
Эта функция была введена в Qt 4.7.
См. также QTextDocument::undoAvailable() и QTextDocument::redoAvailable().
QTextDocument *QTextDocument::clone(QObject *parent = 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, QTextDocument::FindFlags options = FindFlags()) const
Ищет следующее вхождение строки subString в документе. Поиск начинается с позиции заданного cursor и продолжается вперед по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если subString был найден; в противном случае возвращает пустой курсор.
Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск нечувствителен к регистру и может совпадать с любым текстом в документе.
QTextCursor QTextDocument::find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Ищет следующее вхождение строки subString в документе. Поиск начинается с заданной position и продолжается вперед по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если subString был найден; в противном случае возвращает пустой курсор.
Если position равно 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается со значения position.
QTextCursor QTextDocument::find(const QRegExp &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в пределах одного абзаца документа.
Поиск начинается с заданной позиции from и продолжается вперед по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска. Опция FindCaseSensitively игнорируется для этого переопределения, используйте QRegExp::caseSensitivity вместо этого.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает пустой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается со значения from.
QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в пределах одного абзаца документа.
Поиск начинается с позиции заданного курсора cursor и продолжается вперед по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска. Опция FindCaseSensitively игнорируется для этого переопределения, используйте QRegExp::caseSensitivity вместо этого.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает пустой курсор.
Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск нечувствителен к регистру и может совпадать с любым текстом в документе.
QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в пределах одного абзаца документа.
Поиск начинается с заданной позиции from и продолжается вперед по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает пустой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается со значения from.
Данная функция была введена в Qt 5.5.
QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::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.
Эта функция вызывается движком форматирования форматированного текста, чтобы запросить данные, которые не хранятся напрямую в QTextDocument, но все же связаны с ним. Например, изображения косвенно ссылаются на атрибут name объекта QTextImageFormat.
Когда функция вызывается Qt, type является одним из значений перечисления QTextDocument::ResourceType.
Если QTextDocument является дочерним объектом QObject, имеющим вызываемый метод loadResource, например, QTextEdit, QTextBrowser или сам QTextDocument, то реализация по умолчанию пытается извлечь данные из родителя.
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QTextDocument::markContentsDirty(int position, int length)
Помечает содержимое, заданное данным position и length, как «грязное», информируя документ о необходимости повторного макетирования.
QString QTextDocument::metaInformation(QTextDocument::MetaInformation info) const
Возвращает метаинформацию о документе указанного типа info.
См. также setMetaInformation().
[signal] void QTextDocument::modificationChanged(bool changed)
Этот сигнал испускается всякий раз, когда содержимое документа изменяется таким образом, что влияет на состояние модификации. Если changed равно true, документ был изменён; в противном случае – false.
Например, вызов 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 равно true) или недоступными (available равно false).
QVariant QTextDocument::resource(int type, const QUrl &name) const
Возвращает данные указанного типа type из ресурса с заданным именем name.
Эта функция вызывается движком форматирования форматированного текста, чтобы запросить данные, которые не хранятся напрямую в QTextDocument, но все же связаны с ним. Например, изображения косвенно ссылаются на атрибут name объекта 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> текст» создаст текст, где первое слово имеет полужирный вид: «жирный текст».
END_OF_DOCUMENT_MARKERПримечание: Звонящий обязан убедиться, что текст правильно декодирован при создании QString, содержащего HTML, и передаче его в setHtml().
См. также setPlainText() и Поддерживаемый подмножество HTML.
void QTextDocument::setIndentWidth(qreal width)
Устанавливает ширину, используемую для отступа списков и блоков текста.
Свойства отступа QTextListFormat и QTextBlockFormat указывают кратные этому значению. Значение по умолчанию для ширины отступа составляет 40.
Эта функция была добавлена в Qt 4.4.
Примечание: Функция-сеттер для свойства indentWidth.
См. также indentWidth().
void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
Устанавливает метаинформацию документа типа, указанного в info, на заданную строку.
См. также metaInformation().
void QTextDocument::setPlainText(const QString &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 вместо этого.
Эта функция возвращает то же, что и toRawText(), но заменяет некоторые символы Юникода на ASCII-аналоги. В частности, неразрывный пробел (U+00A0) заменяется обычным пробелом (U+0020), а разделители абзаца (U+2029) и строки (U+2028) заменяются символом новой строки (U+000A). Если вам требуется точное содержимое документа, используйте toRawText().
Примечание: Встроенные объекты, такие как изображения, представлены значением Юникода U+FFFC (СИМВОЛ ЗАМЕНЫ ОБЪЕКТА).
См. также toHtml().
QString QTextDocument::toRawText() const
Возвращает исходный текст, содержащийся в документе, без какой-либо информации о форматировании. Если вам нужна информация о форматировании, используйте QTextCursor вместо этого.
Эта функция была добавлена в Qt 5.9.
См. также toPlainText().
void QTextDocument::undo(QTextCursor *cursor)
Отменяет последнее действие редактирования в документе, если отмена доступна. Предоставленный курсор размещается в конце расположения, где было отменено действие редактирования.
См. документацию по Qt Undo Framework для получения подробностей.
Эта функция была добавлена в Qt 4.2.
См. также undoAvailable() и isUndoRedoEnabled().
[slot] void QTextDocument::undo()
Это перегруженная функция.
[signal] void QTextDocument::undoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции отмены становятся доступными (available имеет значение true) или недоступными (available имеет значение false).
См. документацию по 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.11/qtextdocument.html