QTextBlock 类为文本片段提供容器在 QTextDocument . 更多...
头: | #include <QTextBlock> |
CMake: |
find_package(Qt6 COMPONENTS Gui REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
注意: 此类的所有函数 可重入 .
class | iterator |
Iterator |
QTextBlock (const QTextBlock & other ) | |
QTextBlock & | operator= (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 |
bool | operator== (const QTextBlock & other ) const |
文本块将文本块 (或文本段落) 封装在 QTextDocument 。QTextBlock 提供对 QTextDocument 块/段落结构的只读访问。它的主要用法是想要实现自己的布局为视觉表示 QTextDocument ,或想要遍历文档并以自己的自定义格式写出内容。
文本块是由它们的父级文档,创建的。若需要创建新文本块,或修改文档内容 (当审查文档内容时),使用基于光标的接口提供通过 QTextCursor 代替。
各文本块位于特定 position () 在 document ()。块内容的获得,可以通过使用 text () 函数。 length () 函数确定文档内块的大小 (包括格式化字符)。块视觉特性的确定是通过其文本 layout (),其 charFormat (),及其 blockFormat ().
next () 和 previous () 函数使能够迭代文档中的连续有效块,在迭代期间不通过其它手段修改文档的条件下。注意,虽然块是按序列返回的,但相邻块可能来自文档结构中的不同地方。块有效性的确定可以通过调用 isValid ().
QTextBlock 提供的比较运算符,使之更易于操控块: operator== () 比较 2 块是否相等, operator!= () 为不等比较 2 个块,和 operator< () 确定同一文档中的块是否在另一个块之前。
另请参阅 QTextBlockFormat , QTextCharFormat ,和 QTextFragment .
Qt 样式同义词 QTextBlock::iterator .
拷贝 other 文本块的属性到此文本块。
赋值 other 文本块到此文本块。
返回指向文本块开头的文本块迭代器。
另请参阅 end ().
返回 QTextBlockFormat 描述特定块特性。
另请参阅 charFormat ().
返回文本块格式在文档内部块格式列表中的索引。
另请参阅 QTextDocument::allFormats ().
返回此块的编号,或 -1 若块无效。
另请参阅 QTextCursor::blockNumber ().
返回 QTextCharFormat that describes the block's character format. The block's character format is used when inserting text into an empty block.
另请参阅 blockFormat ().
Returns an index into the document's internal list of character formats for the text block's character format.
另请参阅 QTextDocument::allFormats ().
清零 QTextLayout 用于布置并显示块内容。
另请参阅 layout ().
返回
true
若给定
position
位于文本块内;否则返回
false
.
返回此文本块所属的文本文档,或
nullptr
若文本块不属于任何文档。
返回指向文本块末尾的文本块迭代器。
另请参阅 begin (), next (),和 previous ().
返回此块的第一行号,或 -1 若块无效。除非布局支持,否则行号等同于块号。
另请参阅 QTextBlock::blockNumber ().
返回
true
若此文本块有效;否则返回
false
.
返回
true
若块可见;否则返回
false
.
另请参阅 setVisible ().
返回 QTextLayout 用于布置并显示块内容。
注意:返回的 QTextLayout 对象的修改只可以从 documentChanged 实现的 QAbstractTextDocumentLayout 子类。从外部应用的任何改变,都会导致未定义行为。
另请参阅 clearLayout ().
返回块的长度 (以字符为单位)。
注意: 返回长度包括所有格式化字符,例如:换行符。
另请参阅 text (), charFormat (),和 blockFormat ().
返回行数。所有文档布局并非都支持此特征。
另请参阅 setLineCount ().
返回此块之后的文档文本块;或空文本块若这是最后一个。
注意:下一个块可能与此块位于不同的框架 (或表格) 中。
另请参阅 previous (), begin (),和 end ().
返回文档块首字符的索引。
Returns the text block in the document before this block, or an empty text block if this is the first one.
请注意,上一个块可能位于此块不同的框架 (或表格) 中。
另请参阅 next (), begin (),和 end ().
返回块修订。
另请参阅 setRevision () 和 QTextDocument::revision ().
把行数设为 count .
另请参阅 lineCount ().
把块修订设为 rev .
另请参阅 revision () 和 QTextDocument::revision ().
附加给定 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 ().
存储指定 state integer value in the text block. This may be useful for example in a syntax highlighter to store a text parsing state.
另请参阅 userState ().
把块的可见性设为 visible .
另请参阅 isVisible ().
以纯文本形式返回块内容。
另请参阅 length (), charFormat (),和 blockFormat ().
返回解析文本方向。
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 .
[since 5.3]
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.
该函数在 Qt 5.3 引入。
另请参阅 charFormat () 和 blockFormat ().
若块表示列表项,返回该项所属的列表;否则返回
nullptr
.
返回指针指向
QTextBlockUserData
对象,若有设置采用
setUserData
(),或
nullptr
.
另请参阅 setUserData ().
返回先前设置的整数值采用 setUserState () 或 -1。
另请参阅 setUserState ().
返回
true
若此文本块不同于
other
文本块。
返回
true
若此文本块的出现先于
other
文本块在文档中。
返回
true
若此文本块相同如
other
文本块。