QTextBlock 类

QTextBlock 类为文本片段提供容器在 QTextDocument . 更多...

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

注意: 此类的所有函数 可重入 .

公共类型

class iterator
Iterator

公共函数

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 代替。

各文本块位于特定 position () 在 document ()。块内容的获得,可以通过使用 text () 函数。 length () 函数确定文档内块的大小 (包括格式化字符)。块视觉特性的确定是通过其文本 layout (),其 charFormat (),及其 blockFormat ().

The next () 和 previous () 函数使能够迭代文档中的连续有效块,在迭代期间不通过其它手段修改文档的条件下。注意,虽然块是按序列返回的,但相邻块可能来自文档结构中的不同地方。块有效性的确定可以通过调用 isValid ().

QTextBlock 提供的比较运算符,使之更易于操控块: operator== () 比较 2 块是否相等, operator!= () 为不等比较 2 个块,和 operator< () 确定同一文档中的块是否在另一个块之前。

另请参阅 QTextBlockFormat , QTextCharFormat ,和 QTextFragment .

成员类型文档编制

QTextBlock:: Iterator

Qt 样式同义词 QTextBlock::iterator .

成员函数文档编制

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 that describes the block's character format. The block's character format is used when inserting text into an empty block.

另请参阅 blockFormat ().

int QTextBlock:: charFormatIndex () const

Returns an index into the document's internal list of character formats for the text block's character format.

另请参阅 QTextDocument::allFormats ().

void QTextBlock:: clearLayout ()

清零 QTextLayout 用于布置并显示块内容。

另请参阅 layout ().

bool QTextBlock:: contains ( int position ) const

返回 true 若给定 position 位于文本块内;否则返回 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 对象的修改只可以从 documentChanged 实现的 QAbstractTextDocumentLayout 子类。从外部应用的任何改变,都会导致未定义行为。

另请参阅 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

Returns the text block in the document before this block, or an empty text block if this is the first one.

请注意,上一个块可能位于此块不同的框架 (或表格) 中。

另请参阅 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 can be used to store custom settings. The ownership is passed to the underlying text document, i.e. the provided QTextBlockUserData object will be deleted if the corresponding text block gets deleted. The user data object is not stored in the undo history, so it will not be available after undoing the deletion of a text block.

For example, if you write a programming editor in an IDE, you may want to let your user set breakpoints visually in your code for an integrated debugger. In a programming editor a line of text usually corresponds to one QTextBlock QTextBlockUserData interface allows the developer to store data for each QTextBlock , like for example in which lines of the source code the user has a breakpoint set. Of course this could also be stored externally, but by storing it inside the QTextDocument , it will for example be automatically deleted when the user deletes the associated line. It's really just a way to store custom information in the QTextDocument without using custom properties in QTextFormat which would affect the undo/redo stack.

另请参阅 userData ().

void QTextBlock:: setUserState ( int state )

存储指定 state integer value in the text block. This may be useful for example in a syntax highlighter to store a text parsing state.

另请参阅 userState ().

void QTextBlock:: setVisible ( bool visible )

把块的可见性设为 visible .

另请参阅 isVisible ().

QString QTextBlock:: text () const

以纯文本形式返回块内容。

另请参阅 length (), charFormat (),和 blockFormat ().

Qt::LayoutDirection QTextBlock:: textDirection () const

返回解析文本方向。

If the block has no explicit direction set, it will resolve the direction from the blocks content. Returns either Qt::LeftToRight or Qt::RightToLeft .

另请参阅 QTextFormat::layoutDirection (), QString::isRightToLeft (),和 Qt::LayoutDirection .

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

Returns the block's text format options as a list of continuous ranges of QTextCharFormat . The range's character format is used when inserting text within the range boundaries.

另请参阅 charFormat () 和 blockFormat ().

QTextList *QTextBlock:: textList () const

若块表示列表项,返回该项所属的列表;否则返回 nullptr .

QTextBlockUserData *QTextBlock:: userData () const

返回指针指向 QTextBlockUserData 对象,若有设置采用 setUserData (),或 nullptr .

另请参阅 setUserData ().

int QTextBlock:: userState () const

返回先前设置的整数值采用 setUserState () 或 -1。

另请参阅 setUserState ().

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

返回 true 若此文本块不同于 other 文本块。

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

返回 true 若此文本块的出现先于 other 文本块在文档中。

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

赋值 other 文本块到此文本块。

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

返回 true 若此文本块相同如 other 文本块。