QTextBlock Class

QTextBlock クラスは、QTextDocument のテキスト断片のコンテナを提供します

Header: #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 を返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。