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 は、QTextDocuments のブロック/段落構造への読み取り専用アクセスを提供します。QTextBlock は、QTextDocuments のブロック/段落構造への読み取り専用アクセスを提供します。これは主に、QTextDocument の視覚的な表示のために独自のレイアウトを実装したい場合や、ドキュメントを繰り返し処理し、独自のカスタム形式で内容を書き出したい場合に使用します。

テ キ ス ト ブ ロ ッ ク はその親文書に よ っ て作成 さ れます。新 し いテ キ ス ト ブ ロ ッ ク を作成 し た り 、 文書の内容を吟味 し なが ら 内容を変更 し た り する 必要があ る 場合は、 かわ り にQTextCursor が提供す る カー ソ ルベース の イ ン タ フ ェース を利用 し て く だ さ い。

各テキスト・ブロックはdocument() 内の特定のposition() にあります。ブロックの内容は、text ()関数を使用して取得することができます。length ()関数は、文書内でのブロックのサイズを決定します(書式文字を含む)。ブ ロ ッ ク の視覚的特性は、 そのテキス トlayout ()、charFormat ()、blockFormat ()によ っ て決定 さ れます。

next() とprevious() 関数は、 文書内の有効なブロ ッ クの連続に対す る 反復を可能に し ます。 こ の条件では、 反復処理中に文書が他の手段で変更 さ れ る こ と はあ り ません。ブロックは順番に返されますが、隣接するブロックは文書構造内の異なる場所から来る可能性があることに注意してください。ブロックの有効性は、isValid ()を呼び出すことで判定できます。

QTextBlock には、ブロックを扱いやすくするための比較演算子が用意されています。operator==() は、2つのブロックが等しいかどうかを比較し、operator!=() は、2つのブロックが等しくないかどうかを比較し、operator<() は、同じ文書内でブロックが他のブロックより前にあるかどうかを判定します。

QTextBlockFormatQTextCharFormatQTextFragmentも参照

メンバ型ドキュメント

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() でQTextBlockUserData オブジェクトが設定されている場合はそのオブジェクトへのポインタを、nullptr で設定されている場合はそのオブジェクトへのポインタを返す。

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 を返す。

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