このページでは

QTextBlock Class

QTextBlock クラスは、QTextDocument 内のテキスト断片を格納するためのコンテナを提供します。詳細...

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

注:このクラスのすべての関数は再入可能です。

パブリック型

パブリック関数

QTextBlock(const QTextBlock &other)
QTextBlock::iterator begin() const
QTextBlockFormat blockFormat() const
int blockFormatIndex() const
int blockNumber() const
QTextCharFormat charFormat() const
int charFormatIndex() const
void clearLayout()
bool contains(int position) const
const QTextDocument *document() const
QTextBlock::iterator end() const
int firstLineNumber() const
bool isValid() const
bool isVisible() const
QTextLayout *layout() const
int length() const
int lineCount() const
QTextBlock next() const
int position() const
QTextBlock previous() const
int revision() const
void setLineCount(int count)
void setRevision(int rev)
void setUserData(QTextBlockUserData *data)
void setUserState(int state)
void setVisible(bool visible)
QString text() const
Qt::LayoutDirection textDirection() const
QList<QTextLayout::FormatRange> textFormats() const
QTextList *textList() const
QTextBlockUserData *userData() const
int userState() const
bool operator!=(const QTextBlock &other) const
bool operator<(const QTextBlock &other) const
QTextBlock &operator=(const QTextBlock &other)
bool operator==(const QTextBlock &other) const

詳細な説明

テキストブロックは、QTextDocument 内のテキストのブロックまたは段落をカプセル化します。QTextBlockは、QTextDocumentのブロック/段落構造への読み取り専用アクセスを提供します。 これは主に、QTextDocument の視覚的表現のために独自のレイアウトを実装したい場合や、ドキュメントを反復処理して、独自のカスタム形式で内容を書き出したい場合に役立ちます。

テキストブロックは、その親ドキュメントによって作成されます。新しいテキストブロックを作成する必要がある場合や、ドキュメントの内容を調査しながらその内容を変更する必要がある場合は、代わりにQTextCursor が提供するカーソルベースのインターフェースを使用してください。

各テキストブロックは、document() 内の特定のposition() 位置に配置されます。ブロックの内容は、text() 関数を使用して取得できます。length() 関数は、ドキュメント内でのブロックのサイズ(書式設定文字を含む)を判定します。ブロックの視覚的なプロパティは、そのテキストlayout()、charFormat()、およびblockFormat() によって決定されます。

next() およびprevious() 関数は、反復処理中にドキュメントが他の手段によって変更されないという条件下で、ドキュメント内の連続する有効なブロックを反復処理することを可能にします。ブロックは順序通りに返されますが、隣接するブロックはドキュメント構造内の異なる場所から取得される場合があることに注意してください。ブロックの有効性は、isValid() を呼び出すことで確認できます。

QTextBlock は、ブロックの操作を容易にするための比較演算子を提供しています。operator==() は 2 つのブロックの等価性を比較し、operator!=() は 2 つのブロックの不等価性を比較し、operator<() は、同じドキュメント内であるブロックが別のブロックの前にあるかどうかを判定します。

テキストフレームの階層構造内に複数のテキストブロックが存在する様子と、それらのテキストブロック間の処理順序を示す図。

QTextBlockFormat 、QTextCharFormat 、およびQTextFragmentも参照してください 。

メンバ型のドキュメント

QTextBlock::Iterator

QTextBlock::iterator の Qt スタイルの同義語。

メンバ関数のドキュメント

QTextBlock::QTextBlock(const QTextBlock &other)

other のテキストブロックの属性を、このテキストブロックにコピーします。

QTextBlock::iterator QTextBlock::begin() const

テキストブロックの先頭を指すテキストブロックイテレータを返します。

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

QTextBlockFormat QTextBlock::blockFormat() const

ブロック固有のプロパティを記述するQTextBlockFormat を返します。

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

int QTextBlock::blockFormatIndex() const

テキストブロックのフォーマットに対応する、ドキュメントの内部ブロックフォーマット一覧内のインデックスを返します。

QTextDocument::allFormats()も参照してください 。

int QTextBlock::blockNumber() const

このブロックの番号を返します。ブロックが無効な場合は-1を返します。

QTextCursor::blockNumber()も参照してください 。

QTextCharFormat QTextBlock::charFormat() const

ブロックの文字形式を表すQTextCharFormat を返します。ブロックの文字形式は、空のブロックにテキストを挿入する際に使用されます。

「blockFormat()」も参照してください 。

int QTextBlock::charFormatIndex() const

テキストブロックの文字形式に対応する、ドキュメントの内部文字形式リスト内のインデックスを返します。

QTextDocument::allFormats()も参照してください 。

void QTextBlock::clearLayout()

ブロックのコンテンツのレイアウトや表示に使用されるQTextLayout をクリアします。

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

bool QTextBlock::contains(int position) const

指定されたposition がテキストブロック内に存在する場合、true を返します。そうでない場合は、false を返します。

const QTextDocument *QTextBlock::document() const

このテキストブロックが属するテキストドキュメントを返します。テキストブロックがいずれのドキュメントにも属していない場合は、nullptr を返します。

QTextBlock::iterator QTextBlock::end() const

テキストブロックの末尾を指すテキストブロックイテレータを返します。

begin()、next()、およびprevious()も参照してください 。

int QTextBlock::firstLineNumber() const

このブロックの最初の行番号を返します。ブロックが無効な場合は-1を返します。レイアウトが対応していない限り、行番号はブロック番号と同じになります。

QTextBlock::blockNumber()も参照してください 。

bool QTextBlock::isValid() const

このテキストブロックが有効な場合は `true ` を返し、そうでない場合は `false` を返します。

bool QTextBlock::isVisible() const

ブロックが表示されている場合は `true ` を返し、そうでない場合は `false` を返します。

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

QTextLayout *QTextBlock::layout() const

ブロックのコンテンツのレイアウトと表示に使用されるQTextLayout を返します。

返されるQTextLayout オブジェクトは、QAbstractTextDocumentLayout のサブクラスにおけるdocumentChangedの実装内からのみ変更できることに注意してください。外部から変更を加えると、未定義の挙動を引き起こします。

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

int QTextBlock::length() const

ブロックの長さを文字単位で返します。

注: 返される長さには 、改行などのすべての書式設定文字が含まれます。

関連項目: ` text()`、`charFormat()`、および `blockFormat()`。

int QTextBlock::lineCount() const

行数を返します。すべてのドキュメントレイアウトがこの機能をサポートしているわけではありません。

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

QTextBlock QTextBlock::next() const

このブロックの直後に続くドキュメント内のテキストブロックを返します。これが最後のブロックである場合は、空のテキストブロックを返します。

次のブロックは、このブロックとは異なるフレームやテーブルにある場合があることに注意してください。

previous()、begin()、およびend()も参照してください 。

int QTextBlock::position() const

ドキュメント内における、そのブロックの最初の文字のインデックスを返します。

QTextBlock QTextBlock::previous() const

このブロックの直前にあるドキュメント内のテキストブロックを返します。これが最初のブロックである場合は、空のテキストブロックを返します。

なお、前のブロックは、このブロックとは異なるフレームやテーブル内にある場合があることに注意してください。

next()、begin()、およびend()も参照してください 。

int QTextBlock::revision() const

ブロックのリビジョンを返します。

setRevision() およびQTextDocument::revision()も参照してください 。

void QTextBlock::setLineCount(int count)

行数を `count` に設定します。

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

void QTextBlock::setRevision(int rev)

ブロックのリビジョンを「rev 」に設定します。

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

void QTextBlock::setUserData(QTextBlockUserData *data)

指定されたdata オブジェクトをテキストブロックに関連付けます。

QTextBlockUserData カスタム設定の保存に使用できます。所有権は基になるテキストドキュメントに渡されるため、対応するテキストブロックが削除されると、指定されたQTextBlockUserData オブジェクトも削除されます。ユーザーデータオブジェクトは元に戻す履歴には保存されないため、テキストブロックの削除を元に戻した後には利用できなくなります。

例えば、IDE内でプログラミングエディタを実装する場合、統合デバッガのために、ユーザーがコード上で視覚的にブレークポイントを設定できるようにしたい場合があります。プログラミングエディタでは、通常、1行のテキストが1つのQTextBlock に対応します。QTextBlockUserData インターフェースを使用すると、開発者は各QTextBlock に対してデータを保存できます。例えば、ユーザーがソースコードのどの行にブレークポイントを設定したかといった情報です。 もちろん、この情報は外部に保存することも可能ですが、QTextDocument 内に保存することで、例えばユーザーが関連する行を削除した際に、その情報も自動的に削除されるようになります。これは、元に戻す/やり直しスタックに影響を与えるQTextFormat のカスタムプロパティを使用せずに、QTextDocument にカスタム情報を保存するための手法に過ぎません。

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

void QTextBlock::setUserState(int state)

指定されたstate の整数値をテキストブロックに格納します。これは、例えば構文ハイライト機能において、テキストの解析状態を保存する際などに役立ちます。

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

void QTextBlock::setVisible(bool visible)

ブロックの表示状態を「visible 」に設定します。

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

QString QTextBlock::text() const

ブロックの内容をプレーンテキストとして返します。

length()、charFormat()、およびblockFormat()も参照してください 。

Qt::LayoutDirection QTextBlock::textDirection() const

解決されたテキストの方向を返します。

ブロックに明示的な方向が設定されていない場合、ブロックの内容から方向を解決します。Qt::LeftToRight またはQt::RightToLeft のいずれかを返します。

QTextFormat::layoutDirection()、QString::isRightToLeft()、およびQt::LayoutDirectionも参照してください 。

QList<QTextLayout::FormatRange> QTextBlock::textFormats() const

ブロックのテキスト書式設定オプションを、QTextCharFormat の連続した範囲のリストとして返します。範囲の境界内にテキストを挿入する際は、その範囲の文字書式が使用されます。

charFormat() およびblockFormat()も参照してください 。

QTextList *QTextBlock::textList() const

そのブロックがリストの項目を表している場合は、その項目が属するリストを返します。そうでない場合は、nullptr を返します。

QTextBlockUserData *QTextBlock::userData() const

setUserData() またはnullptr によって設定されている場合、QTextBlockUserData オブジェクトへのポインタを返します。

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

int QTextBlock::userState() const

setUserState() で以前に設定された整数値、または -1 を返します。

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

bool QTextBlock::operator!=(const QTextBlock &other) const

このテキストブロックが、other のテキストブロックと異なる場合、true を返します。

bool QTextBlock::operator<(const QTextBlock &other) const

このテキストブロックが、ドキュメント内の「other 」というテキストブロックの前に出現する場合、true を返します。

QTextBlock &QTextBlock::operator=(const QTextBlock &other)

このテキストブロックに「other 」というテキストブロックを割り当てます。

bool QTextBlock::operator==(const QTextBlock &other) const

このテキストブロックが「other 」というテキストブロックと一致する場合、true を返します。

© 2026 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.