QTextDocument Class

QTextDocument クラスは、フォーマットされたテキストを保持します。詳細...

ヘッダ #include <QTextDocument>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承: QObject

注意:このクラスの関数はすべてリエントラントです。

パブリックな型

enum FindFlag { FindBackward, FindCaseSensitively, FindWholeWords }
flags FindFlags
flags MarkdownFeatures
enum MetaInformation { DocumentTitle, DocumentUrl, CssMedia, FrontMatter }
(since 6.1) ResourceProvider
enum ResourceType { UnknownResource, HtmlResource, ImageResource, StyleSheetResource, MarkdownResource, UserResource }
enum Stacks { UndoStack, RedoStack, UndoAndRedoStacks }

プロパティ

パブリック機能

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()
QList<QTextFormat> allFormats() const
int availableRedoSteps() const
int availableUndoSteps() const
QUrl baseUrl() const
(since 6.0) qreal baselineOffset() 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 QRegularExpression &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 QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
QTextCursor find(const QString &subString, int position = 0, 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 isLayoutEnabled() 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
(since 6.1) QTextDocument::ResourceProvider resourceProvider() const
int revision() const
QTextFrame *rootFrame() const
void setBaseUrl(const QUrl &url)
(since 6.0) void setBaselineOffset(qreal baseline)
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 setLayoutEnabled(bool b)
void setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)
void setMaximumBlockCount(int maximum)
void setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
void setPageSize(const QSizeF &size)
void setPlainText(const QString &text)
(since 6.1) void setResourceProvider(const QTextDocument::ResourceProvider &provider)
(since 6.0) void setSubScriptBaseline(qreal baseline)
(since 6.0) void setSuperScriptBaseline(qreal baseline)
void setTextWidth(qreal width)
void setUndoRedoEnabled(bool enable)
void setUseDesignMetrics(bool b)
QSizeF size() const
(since 6.0) qreal subScriptBaseline() const
(since 6.0) qreal superScriptBaseline() const
qreal textWidth() const
QString toHtml() const
QString toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const
QString toPlainText() const
QString toRawText() const
void undo(QTextCursor *cursor)
bool useDesignMetrics() const

パブリックスロット

void redo()
void setModified(bool m = true)
void undo()

シグナル

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()

静的パブリックメンバ

(since 6.1) QTextDocument::ResourceProvider defaultResourceProvider()
(since 6.1) void setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)

保護された関数

virtual QTextObject *createObject(const QTextFormat &format)
virtual QVariant loadResource(int type, const QUrl &name)

詳細説明

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 のアンドゥ/リドゥ操作を以下に示します:

  • 文字の挿入と削除。文字の挿入または削除。同じテキストブロック内の一連の挿入または削除は、単一のアンドゥ/リドゥ操作とみなされます。
  • テキストブロックの挿入または削除。た と えばテ キ ス ト を選択 し てから 削除す る と い う よ う な) 一度の操作での挿入ま たは削除の連続は、 一度の取り消 し / やり直し操作 と 見な さ れます。
  • テ キ ス ト 文字書式の変更。
  • テ キ ス ト ブ ロ ッ ク 書式の変更。
  • テキス ト ブ ロ ッ ク グループの書式変更。

QTextCursorQTextEditリ ッ チ テ キ ス ト 処理も 参照

メンバ型ドキュメント

enum QTextDocument::FindFlag
flags QTextDocument::FindFlags

この enum は、QTextDocument の find 関数で使用可能なオプションを記述します。オプションは、以下のリストから OR で組み合わせることができます:

定数説明
QTextDocument::FindBackward0x00001前方検索ではなく後方検索を行います。
QTextDocument::FindCaseSensitively0x00002デフォルトでは、大文字小文字を区別せずに検索します。このオプションを指定すると、大文字小文字を区別して検索するようになります。
QTextDocument::FindWholeWords0x00004完全な単語にのみマッチするようになります。

FindFlags型はQFlags<FindFlag>のtypedefである。FindFlag値のORの組み合わせを格納します。

enum QTextDocument::MetaInformation

この列挙型は、文書に追加できるさまざまなタイプのメタ情報を記述します。

定数説明
QTextDocument::DocumentTitle0ドキュメントのタイトル。
QTextDocument::DocumentUrl1ドキュメントの url。loadResource() 関数は、相対リソースをロードする際にこの url をベースとして使用します。
QTextDocument::CssMedia2この値は、setHtml() が呼び出されたときに、指定された CSS スタイルシートから対応する '@media' ルールがあれば、それを選択するために使用されます。この列挙値は Qt 6.3 で導入されました。
QTextDocument::FrontMatter3この値は、ソースファイルのパース時にヘッダーマテリアルが抽出された場合、それを選択するために使用されます(現在はMarkdownフォーマットからのみ)。この列挙値は Qt 6.8 で導入されました。

metaInformation(),setMetaInformation(),setHtml()も参照してください

[alias, since 6.1] QTextDocument::ResourceProvider

std::function<QVariant(constQUrl&)> の型エイリアス。

この型定義は Qt 6.1 で導入された。

enum QTextDocument::ResourceType

この列挙型は、QTextDocumentloadResource() 関数またはQTextBrowser::setSource() でロードできるリソースのタイプを記述する。

定数説明
QTextDocument::UnknownResource0リソースが読み込まれていないか、リソースの種類が不明。
QTextDocument::HtmlResource1リソースには HTML が含まれています。
QTextDocument::ImageResource2リソースが画像データを含んでいる。現在サポートされているデータ型はQMetaType::QPixmapQMetaType::QImage です。対応するバリアントの型がQMetaType::QByteArray の場合、Qt はQImage::loadFromData を使用して画像のロードを試みます。QMetaType::QIcon は現在サポートされていません。アイコンは、例えばQIcon::pixmap を使って、最初にサポートされているデータ型に変換する必要があります。
QTextDocument::StyleSheetResource3リソースにCSSが含まれています。
QTextDocument::MarkdownResource4リソースにはMarkdownが含まれています。
QTextDocument::UserResource100ユーザー定義のリソースタイプで最初に利用可能な値です。

loadResource() およびQTextBrowser::sourceType()も参照してください

enum QTextDocument::Stacks

定数説明
QTextDocument::UndoStack0x01元に戻すスタック
QTextDocument::RedoStack0x02やり直しスタック。
QTextDocument::UndoAndRedoStacksUndoStack | RedoStack元に戻すスタックとやり直しスタックの両方。

プロパティの説明

baseUrl : QUrl

このプロパティは、ドキュメント内の相対リソースURLを解決するために使用されるベースURLを保持します。

リソースURLは、ベースURLのターゲットと同じディレクトリ内にあるように解決されます。つまり、最後の'/'以降のパスの部分は無視されます。

ベースURL相対URL解決されたURL
file:///path/to/contentimages/logo.pngfile:///path/to/images/logo.png
ファイル:///パス/から/コンテンツ/へ画像/ロゴ.pngfile:///path/to/content/images/logo.png
ファイル:///path/to/content/index.html画像/ロゴ.pngファイル:///path/to/content/images/logo.png
file:///path/to/content/images/ロゴ.png../images/logo.pngファイル:///path/to/content/images/logo.png

アクセス機能

QUrl baseUrl() const
void setBaseUrl(const QUrl &url)

通知シグナル

void baseUrlChanged(const QUrl &url)

[read-only] blockCount : const int

このプロパティは、文書内のテキストブロックの数を保持する。

このプロパティの値は、表やフレームを持つ文書では未定義です。

デフォルトでは、定義されている場合、このプロパティの値は1です。

アクセス関数:

int blockCount() const

lineCount() およびcharacterCount()も参照

defaultFont : QFont

このプロパティは、ドキュメントのテキスト表示に使用されるデフォルトフォントを保持する。

アクセス関数:

QFont defaultFont() const
void setDefaultFont(const QFont &font)

defaultStyleSheet : QString

デフォルトのスタイル・シートは、例えばsetHtml() やQTextCursor::insertHtml() を使って文書に挿入される、新しくHTML整形されたテキスト全てに適用されます。

スタイル・シートはCSS 2.1構文に準拠する必要があります。

注意:デフォルトのスタイルシートを変更しても、ドキュメントの既存のコンテンツには何の影響も及ぼしません。

アクセス関数:

QString defaultStyleSheet() const
void setDefaultStyleSheet(const QString &sheet)

サポートされるHTMLサブセットも参照してください

defaultTextOption : QTextOption

こ のプ ロ パテ ィ は、 文書内のすべてのQTextLayoutに設定 さ れ る デ フ ォ ル ト テ キ ス ト オプシ ョ ン を保持 し ます。

QTextBlockが作成されると、そのQTextLayout に defaultTextOption が設定されます。 これにより、デフォルトの単語折り返しモードなど、文書のグローバルプロパティを設定することができます。

アクセス関数:

QTextOption defaultTextOption() const
void setDefaultTextOption(const QTextOption &option)

documentMargin : qreal

ドキュメントを囲むマージン。デフォルトは4。

アクセス関数:

qreal documentMargin() const
void setDocumentMargin(qreal margin)

indentWidth : qreal

テキスト・リストとテキスト・ブロックの字下げに使われる幅を返します。

QTextListFormatQTextBlockFormat のインデント・プロパティは、この値の倍数を指定します。デフォルトのインデント幅は 40 です。

アクセス関数:

qreal indentWidth() const
void setIndentWidth(qreal width)

[since 6.4] layoutEnabled : bool

このプロパティは、QTextDocument 、変更のたびにレイアウトを再計算するかどうかを保持します。

このプロパティがtrueに設定されている場合、ドキュメントへの変更はすべてレイアウトをトリガーします。

レイアウトを一時的に無効にすることで、複数の変更(テキストコンテンツだけでなく、デフォルトフォントやデフォルトテキストオプションなど)を行ったときに時間を節約することができます。これは、例えばテキストの幅やページサイズがまだわかっていない場合に便利です。

デフォルトでは、このプロパティはtrue です。

このプロパティは Qt 6.4 で導入されました。

アクセス関数:

bool isLayoutEnabled() const
void setLayoutEnabled(bool b)

setTextWidthも参照してください

maximumBlockCount : int

ドキュメント内のブロックの上限を指定します。

文書が持つことができるブロックの最大数を指定します。このプロパティで指定された以上のブロックが文書内にある場合、ブロックは文書の先頭から削除されます。

負の値またはゼロの値は、文書が無制限にブロックを含むことができることを指定します。

デフォルト値は0です。

このプロパティを設定すると、ドキュメントの内容に直ちに制限が適用されることに注意してください。

このプロパティを設定すると、元に戻すやり直し履歴も無効になります。

このプロパティは、テーブルやフレームを持つ文書では未定義です。

アクセス関数:

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()も参照してください

[read-only] size : const QSizeF

このプロパティは、ドキュメントの実際のサイズを保持する。これはdocumentLayout()->documentSize() と同じです;

ドキュメントのサイズを変更するには、テキストの幅を設定するか、ページ全体のサイズを設定します。

幅は常に >=pageSize().width() であることに注意。

デフ ォル ト では、 新 し く 生成 さ れた空の文書の場合、 こ のプ ロ パテ ィ には設定に依存 し たサ イ ズが格納 さ れます。

アクセス関数:

QSizeF size() const

setTextWidth(),setPageSize(),idealWidth()も参照

textWidth : qreal

テキスト幅は、文書内のテキストの好ましい幅を指定します。テキスト(または一般的なコンテンツ)の幅が指定された幅より広い場合、複数の行に分割され、縦方向に大きくなります。テキストが指定されたテキスト幅に収まるように複数行に分割できない場合、それはより大きくなり、size ()およびidealWidth ()プロパティはそれを反映します。

テキスト幅が-1に設定されている場合、明示的な改行や新しい段落が強制されない限り、テキストは複数行に分割されません。

デフォルト値は-1です。

テキストの幅を設定すると、ページの高さも-1に設定され、文書が連続的に縦に伸びたり縮んだりします。文書レイアウトでテキストを複数のページに分割したい場合は、代わりにpageSize プロパティを設定する必要があります。

アクセス関数:

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 です。

関数にアクセスします:

bool useDesignMetrics() const
void setUseDesignMetrics(bool b)

メンバ関数ドキュメント

[explicit] QTextDocument::QTextDocument(QObject *parent = nullptr)

空の QTextDocument を、 与えられたparent で構築します。

[explicit] QTextDocument::QTextDocument(const QString &text, QObject *parent = nullptr)

指定されたプレーンな (整形されていない)text を含む QTextDocument を、 与えられたparent とともに構築します。

[virtual noexcept] QTextDocument::~QTextDocument()

文書を破棄する。

void QTextDocument::addResource(int type, const QUrl &name, const QVariant &resource)

typename を識別子として、 リ ソ ースresource を リ ソ ース キ ャ ッ シ ュ に追加 し ます。type にはQTextDocument::ResourceType の値を指定 し ます。

た と えば、 画像を リ ソ ース と し て追加 し て、 それを文書か ら 参照で き る よ う にす る こ と がで き ます:

    document->addResource(QTextDocument::ImageResource,
        QUrl("mydata://image.png"), QVariant(image));

画像はQTextCursor API を使っ て文書に挿入す る こ と がで き ます:

    QTextImageFormat imageFormat;
    imageFormat.setName("mydata://image.png");
    cursor.insertImage(imageFormat);

また、HTMLのimg タグを使って画像を挿入することもできます:

    editor->append("<img src=\"mydata://image.png\" />");

void QTextDocument::adjustSize()

ドキュメントを適切なサイズに調整する。

idealWidth()、textWidthsizeも参照

QList<QTextFormat> QTextDocument::allFormats() const

ドキュメントで使われているすべてのフォーマットのテキストフォーマットのリストを返します。

int QTextDocument::availableRedoSteps() const

利用可能なやり直しステップ数を返します。

isRedoAvailable()も参照

int QTextDocument::availableUndoSteps() const

使用可能なアンドゥステップの数を返します。

isUndoAvailable()も参照 ください。

[since 6.0] qreal QTextDocument::baselineOffset() const

ドキュメントレイアウトで使用されるベースラインオフセットを % で返します。

この関数は Qt 6.0 で導入されました。

setBaselineOffset(),setSubScriptBaseline(),subScriptBaseline(),setSuperScriptBaseline(),superScriptBaseline()も参照してください

QTextBlock QTextDocument::begin() const

ドキュメントの最初のテキストブロックを返します。

firstBlock()も参照 ください。

[signal] void QTextDocument::blockCountChanged(int newBlockCount)

このシグナルは、ドキュメント内のテキストブロックの総数が変更されたときに発行される。newBlockCount で渡される値は新しい合計です。

QChar QTextDocument::characterAt(int pos) const

位置pos にある文字、または位置が範囲外の場合はヌル文字を返します。

characterCount()も参照

int QTextDocument::characterCount() const

この文書の文字数を返す。

注意: QTextDocument は常に少なくとも1つのQChar::ParagraphSeparator を含むので、このメソッドは少なくとも1を返す。

blockCount() およびcharacterAt()も参照

[virtual] void QTextDocument::clear()

文書を消去する。

void QTextDocument::clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)

stacksToClear で指定されたスタックをクリアします。

このメソッドは、undo スタック、redo スタック、またはその両方(デフォルト)のコマンドをクリアする。コマンドがクリアされると、QTextDocument::undoAvailable() またはQTextDocument::redoAvailable() という適切なシグナルが発せられる。

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)

与えられたformat に基づいて、新しいドキュメントオブジェクト (QTextObject) を作成して返します。

QTextObject は常にこのメソッドを通して作成されるので、ドキュメント内でカスタム・テキスト・オブジェクトを使用する場合は、このメソッドを再実装する必要があります。

[signal] void QTextDocument::cursorPositionChanged(const QTextCursor &cursor)

このシグナルは、編集操作によってカーソルの位置が変化するたびに発せられる。変更されたカーソルはcursor で渡されます。ドキュメントがQTextEdit クラスで使用され、カーソルが矢印キーで移動されたときにシグナルが必要な場合は、QTextEditcursorPositionChanged() シグナルを使用できます。

Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const

デフ ォル ト カー ソ ル移動ス タ イルは、 文書か ら 生成 さ れ る すべてのQTextCursor オブジ ェ ク ト で用い ら れます。デフォルトはQt::LogicalMoveStyle です。

setDefaultCursorMoveStyle()も参照してください

QFont QTextDocument::defaultFont() const

ドキュメントレイアウトで使用されるデフォルトフォントを返す。

メモ: defaultFont プロパティのゲッター関数。

setDefaultFont()も参照してください

[static, since 6.1] QTextDocument::ResourceProvider QTextDocument::defaultResourceProvider()

デフォルトのリソースプロバイダを返します。

この関数は Qt 6.1 で導入されました。

setDefaultResourceProvider(),resourceProvider(),loadResource()も参照してください

QTextOption QTextDocument::defaultTextOption() const

デフ ォ ル ト テキス ト オプシ ョ ンは、 文書内のすべてのQTextLayout オブジ ェ ク ト で用い ら れます。こ れに よ り 、 デフ ォ ル ト の単語折 り 返 し モー ド な ど、 文書のグ ローバルプ ロ パテ ィ を設定す る こ と がで き ます。

注釈 defaultTextOption プロパティに対するゲッター関数。

setDefaultTextOption()も参照してください

QAbstractTextDocumentLayout *QTextDocument::documentLayout() const

このドキュメントのドキュメントレイアウトを返します。

setDocumentLayout()も参照 ください。

[signal] void QTextDocument::documentLayoutChanged()

このシグナルは、新しいドキュメントレイアウトが設定されたときに発行される。

setDocumentLayout()も参照

void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())

文書の内容を、 ペ イ ン タp で、rect に ク リ ッ プ し て描 き ます。rect がヌ ル矩形 (デ フ ォ ル ト ) の と き は、 文書は ク リ ッ プ さ れずに描かれます。

QTextBlock QTextDocument::end() const

この関数は、繰り返し処理中にドキュメントの終わりをテストするためのブロックを返します。

for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
    std::cout << it.text().toStdString() << "\n";

返されるブロックは無効で、ドキュメントの最後のブロックの後のブロックを表します。ドキュメントの最後の有効なブロックを取得するにはlastBlock() を使用します。

lastBlock()も参照

QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const

文書内の同じ段落内で、与えられた正規表現expr にマッチする次の出現箇所を検索する。

検索は、与えられたcursor の位置から始まり、検索オプションで特に指定されない限り、文書内を前方へ進みます。options は、実行される検索のタイプを制御します。

マッチが見つかればマッチが選択されたカーソルを返し、そうでなければ NULL カーソルを返します。

指定されたcursor に選択範囲がある場合、検索は選択範囲の後から始まります。

デフォルトでは、検索は大文字小文字を区別せず、ドキュメント内のどこにあるテキストにもマッチします。

QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const

文書内の同じ段落内で、与えられた正規表現expr にマッチする次の出現箇所を検索します。

検索は、与えられたfrom の位置から始まり、検索オプションで特に指定しない限り、文書内を前方へ進みます。options は、実行される検索のタイプを制御します。

マッチが見つかればマッチを選択したカーソルを返し、そうでなければヌルカーソルを返します。

from の位置が0(デフォルト)の場合、検索は文書の先頭から始まり、それ以外の場合は指定した位置から始まる。

警告: 歴史的な理由により、expr に設定された大文字小文字の区別オプションは無視される。その代わりに、options を使って、検索が大文字小文字を区別するかどうかを決定する。

QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const

文書内で文字列subString が次に出現する場所を検索する。検索は、指定されたcursor の位置から始まり、検索オプシ ョ ンで別段の指定がない限り、文書内を順次進む。options は、実行される検索のタイプを制御する。

subString が見つかれば、マッチが選択されたカーソルを返し、そうでなければ null カーソルを返します。

指定されたcursor に選択範囲がある場合、検索は選択範囲の後から始まります。

デフォルトでは、検索は大文字小文字を区別せず、ドキュメント内の任意の場所にマッチします。

QTextCursor QTextDocument::find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const

これはオーバーロードされた関数である。

文書内で文字列subString が次に出現する場所を検索する。検索は、指定されたposition から始まり、検索オプションで特に指定されない限り、文書内を順に進みます。options は、実行される検索のタイプを制御する。

subString が見つかればマッチを選択したカーソルを返し、そうでなければヌルカーソルを返す。

position が 0 (デフ ォル ト ) の場合、 検索は文書の先頭か ら 始ま り 、 そ う でなければ指定 し た位置か ら 始ま る 。

QTextBlock QTextDocument::findBlock(int pos) const

pos-番目の文字を含むテキストブロックを返す。

QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const

指定されたlineNumber を含むテキストブロックを返します。

QTextBlock::firstLineNumber()も参照

QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const

指定されたblockNumber を持つテキストブロックを返します。

QTextBlock::blockNumber()も参照

QTextBlock QTextDocument::firstBlock() const

ドキュメントの最初のテキストブロックを返します。

qreal QTextDocument::idealWidth() const

テキスト文書の理想的な幅を返します。理想的な幅とは、オプションのアライメントを考慮しない、 実際に使われているドキュメントの幅のことです。これは常に <=size().width() です。

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

ドキュメントの最後の(有効な)テキストブロックを返します。

int QTextDocument::lineCount() const

このドキュメントの行数を返します(レイアウトがサポートしている場合)。そうでない場合は、これはブロック数と同じです。

blockCount() およびcharacterCount()も参照

[virtual protected invokable] QVariant QTextDocument::loadResource(int type, const QUrl &name)

指定 さ れたname を持つ リ ソ ース か ら 、 指定 さ れたtype のデー タ を読み込みます。

この関数はリッチテキストエンジンによって呼び出され、QTextDocument によって直接格納されていないデータを要求します。例えば、画像はQTextImageFormat オブジェクトの name 属性によって間接的に参照されます。

Qt によって呼び出されるとき、typeQTextDocument::ResourceType の値の1つになります。

QTextDocument QTextDocument が の子オブジェクトで、 や などの呼び出し可能な loadResource メソッドを持っている場合、デフォルトの実装では親オブジェクトからデータを取得しようとします。QObject QTextEdit QTextBrowser

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QTextDocument::ResourceProviderも参照して ください。

void QTextDocument::markContentsDirty(int position, int length)

指定 さ れたpositionlength で指定 さ れた内容を 「dirty」 と し てマー ク し 、 文書を再度レイアウトする必要があ る こ と を知らせます。

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 に文書を印刷する。この関数を使う前にQPagedPaintDevice をセットアップしておく必要がある。

これは、文書全体をプリンタに印刷するための便宜的な方法です。

文書がpageSize() プロパティで指定した高さですでにページ付けされている場合は、そのまま印刷されます。

文書がページ分割されていない場合 (た と えばQTextEdit で使用 さ れてい る 文書) には、 文書の一時的な コ ピーが作成 さ れ、 その コ ピーはペ イ ン ト デバ イ ス の paperRect( ) のサ イ ズに従っ て複数ページに分割 さ れます。デフ ォル ト では、 文書内容の周囲に 2 cm の余白が設定 さ れてい ます。また、各ページの最下部には現在のページ番号が印刷されます。

QTextEdit::print()も参照

void QTextDocument::redo(QTextCursor *cursor)

redo is available の場合、 文書に対する最後の編集操作をやり直します。

提供されるcursor は、 編集操作がやり直された場所の末尾に置かれます。

[slot] void QTextDocument::redo()

これはオーバーロードされた関数です。

redo is available の場合、ドキュメントに対する最後の編集操作をやり直します。

[signal] void QTextDocument::redoAvailable(bool available)

このシグナルは、REDO操作が利用可能になる(available がtrue)か、利用不可能になる(available がfalse)たびに発行される。

QVariant QTextDocument::resource(int type, const QUrl &name) const

指定 さ れたname を持つ リ ソ ース か ら 、 指定 さ れたtype のデー タ を返 し ます。

この関数は、リッチテキストエンジンが、QTextDocument によって直接格納されていないが、まだ関連付けられているデータを要求するために呼び出される。たとえば、画像はQTextImageFormat オブジェクトの name 属性によって間接的に参照されます。

リ ソ ース は文書内で内部的にキ ャ ッ シ ュ さ れます。リソースがキャッシュに見つからない場合、loadResource が呼び出されてリソースの読み込みを試みます。loadResourceaddResource を使ってリソースをキャッシュに追加します。

loadResource がリソースをロードしない場合、resourceProvider が呼び出され、設定されていれば最後にdefaultResourceProvider が呼び出されます。プロバイダからの結果は自動的にキャッシュに追加されないことに注意してください。

QTextDocument::ResourceType およびresourceProvider()も参照してください

[since 6.1] QTextDocument::ResourceProvider QTextDocument::resourceProvider() const

このテキストドキュメントのリソースプロバイダを返します。

この関数は Qt 6.1 で導入されました。

setResourceProvider(),defaultResourceProvider(),loadResource()も参照してください

int QTextDocument::revision() const

ドキュメントのリビジョンを返します (アンドゥが有効な場合)。

リビジョンは、変更されていないドキュメントが編集されたときに増加することが保証されています。

QTextBlock::revision() およびisModified()も参照 ください。

QTextFrame *QTextDocument::rootFrame() const

ドキュメントのルートフレームを返します。

[since 6.0] void QTextDocument::setBaselineOffset(qreal baseline)

ドキュメントレイアウトで使用するフォントの高さの%としての基準線をbaseline に設定します。 デフォルト値は 0 です。正の値を指定すると、対応する%分だけテキストが上に移動し、負の値を指定すると下に移動します。

この関数は Qt 6.0 で導入されました。

baselineOffset(),setSubScriptBaseline(),subScriptBaseline(),setSuperScriptBaseline(),superScriptBaseline()も参照してください

void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)

デフォルトのカーソル移動スタイルを指定されたstyle に設定します。

defaultCursorMoveStyle()も参照

void QTextDocument::setDefaultFont(const QFont &font)

文書レ イ ア ウ ト で用い る デ フ ォ ル トfont を設定 し ます。

注意: プロパティdefaultFont のセッター関数です。

defaultFont()も参照してください

[static, since 6.1] void QTextDocument::setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)

デフォルトのリソースプロバイダをprovider に設定します。

このデフォルト・プロバイダは、明示的なプロバイダが設定されていないすべての QTextDocuments で使用されます。

この関数は Qt 6.1 で導入されました。

defaultResourceProvider(),setResourceProvider(),loadResource()も参照してください

void QTextDocument::setDefaultTextOption(const QTextOption &option)

デフォルトのテキストオプションをoption に設定します。

注: プロパティdefaultTextOption に対するセッター関数。

defaultTextOption()も参照してください

void QTextDocument::setDocumentLayout(QAbstractTextDocumentLayout *layout)

与えられたlayout を使うように文書を設定します。以前のレイアウトは削除されます。

documentLayoutChanged()も参照してください

void QTextDocument::setHtml(const QString &html)

html 文字列で指定された HTML 形式のテキストで、ドキュメントの内容全体を置き換えます。この関数が呼ばれると、取り消し/やり直しの履歴はリセットされます。

HTMLフォーマットは可能な限り尊重されます。例えば、"<b>bold</b> text "と指定すると、最初の単語が太字に見えるようなフォントの太さを持つテキストが生成されます:「太字テキスト"。

デフォルトの "screen "ルール以外のcssメディアルールを選択するには、"info "パラメータに'CssMedia'を指定して、setMetaInformation ()を使用します。

注意: HTMLを含むQString が作成され、setHtml()に渡されたとき、テキストが正しくデコードされることを確認するのは、呼び出し側の責任である。

setPlainText()、Supported HTML SubsetsetMetaInformation()も参照

void QTextDocument::setIndentWidth(qreal width)

テ キ ス ト リ ス ト と テ キ ス ト ブ ロ ッ ク の字下げに用い ら れ るwidth を設定 し ます。

QTextListFormatQTextBlockFormat のインデント・プロパティは、この値の倍数を指定します。デフォルトのインデント幅は 40 です。

注: プロパティindentWidth に対するセッター関数。

indentWidth()も参照してください

void QTextDocument::setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)

ドキュメントの内容全体を、markdown の文字列で指定された Markdown 形式のテキストに置き換えます。features がサポートされています。デフォルトでは、サポートされているすべてのGitHubスタイルのMarkdown機能が含まれています; より基本的なパースにはMarkdownDialectCommonMark を渡します。

Markdownのフォーマットは可能な限り尊重されます。例えば、"*bold* text "と指定すると、最初の単語が強調されたようなフォントの太さのテキストが生成されます。

markdown 文字列に含まれるHTMLの解析は、setHtml と同じ方法で処理されます ; しかし、HTMLブロック内のMarkdownフォーマットはサポートされていません。

パーサーのいくつかの機能は、features 引数で有効または無効にすることができます:

定数説明
MarkdownNoHTMLMarkdownテキスト内のHTMLタグはすべて破棄されます。
MarkdownDialectCommonMarkパーサーはCommonMarkによって標準化された機能のみをサポートします。
MarkdownDialectGitHubパーサーはGitHub方言をサポートします

デフォルトはMarkdownDialectGitHub です。

この関数が呼ばれると、取り消し/やり直しの履歴がリセットされます。

void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)

info で指定された型の文書のメタ情報を、与えられたstring に設定します。

metaInformation()も参照

void QTextDocument::setPlainText(const QString &text)

文書の内容全体を、与えられたプレーンなtext で置き換えます。この関数が呼ばれると、取り消し/やり直しの履歴はリセットされます。

setHtml()も参照

[since 6.1] void QTextDocument::setResourceProvider(const QTextDocument::ResourceProvider &provider)

テキストドキュメントのリソースの提供者をprovider に設定します。

この関数は Qt 6.1 で導入されました。

resourceProvider() およびloadResource()も参照してください

[since 6.0] void QTextDocument::setSubScriptBaseline(qreal baseline)

baselineデフ ォル ト 値は 16.67% (高 さ の 1/6) です。

この関数は Qt 6.0 で導入されました。

subScriptBaseline(),setSuperScriptBaseline(),superScriptBaseline(),setBaselineOffset(),baselineOffset()も参照してください

[since 6.0] void QTextDocument::setSuperScriptBaseline(qreal baseline)

デフォルトの上付き文字のベースラインを、ドキュメントレイアウトで使用するフォントの高さに対する%としてbaseline に設定します。 デフォルト値は 50% (高さの 1/2) です。

この関数は Qt 6.0 で導入されました。

superScriptBaseline(),setSubScriptBaseline(),subScriptBaseline(),setBaselineOffset(),baselineOffset()も参照してください

[since 6.0] qreal QTextDocument::subScriptBaseline() const

上付き文字のベースラインを、ドキュメントレイアウトで使用されているフォントの高さの % で返します。

この関数は Qt 6.0 で導入されました。

setSubScriptBaseline(),setSuperScriptBaseline(),superScriptBaseline(),setBaselineOffset(),baselineOffset()も参照してください

[since 6.0] qreal QTextDocument::superScriptBaseline() const

上付き文字のベースラインを、ドキュメントレイアウトで使用されているフォントの高さの % で返します。

この関数は Qt 6.0 で導入されました。

setSuperScriptBaseline(),setSubScriptBaseline(),subScriptBaseline(),setBaselineOffset(),baselineOffset()も参照してください

QString QTextDocument::toHtml() const

ドキュメントの HTML 表現を含む文字列を返します。

ドキュメントの内容は、エンコーディングをUTF-8に指定している。返された html 文字列を後でバイト配列に変換してネットワーク経由で送信したり、ディスクに保存したりする場合は、QString::toUtf8() を使用して文字列をQByteArray に変換する必要があります。

サポートされるHTMLサブセットも参照してください

QString QTextDocument::toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const

与えられたfeatures を持つドキュメントの Markdown 表現を含む文字列、または何らかの理由で書き込みに失敗した場合は空文字列を返します。

setMarkdownも参照してください

QString QTextDocument::toPlainText() const

ドキュメントに含まれるプレーンテキストを返します。フォーマット情報が必要な場合は、代わりにQTextCursor を使用してください。

この関数はtoRawText() と同じものを返しますが、一部の unicode キ ャ ラ ク タ を ASCII の代替キ ャ ラ ク タ へ置 き 換え ます。特に、改行なしスペース (U+00A0) は通常のスペース (U+0020) に置き換えられ、段落区切り (U+2029) と行区切り (U+2028) はともに改行 (U+000A) に置き換えられます。文書の正確な内容が必要な場合は、代わりにtoRawText ()を使ってください。

注釈 画像の よ う な埋め込みオブジ ェ ク ト は、 Unicode 値 U+FFFC (OBJECT REPLACEMENT CHARACTER) で表 さ れます。

toHtml()も参照して ください。

QString QTextDocument::toRawText() const

文書に含まれる生のテキストを、書式情報なしで返します。書式情報が必要な場合は、代わりにQTextCursor を使用します。

toPlainText()も参照

void QTextDocument::undo(QTextCursor *cursor)

文書の最後の編集操作を元に戻す (元に戻せ る 場合)。提供されるcursor は、編集操作が取り消された場所の末尾に配置されます。

詳細はQt Undo Framework のドキュメントを参照してください。

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 に新しいアンドゥ・レベルが追加されるたびに発せられる。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.