QTextDocument 类保持格式化文本。 更多...
头: | #include <QTextDocument> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
继承: | QObject |
注意: 此类的所有函数 可重入 .
enum | FindFlag { FindBackward, FindCaseSensitively, FindWholeWords } |
flags | FindFlags |
flags | MarkdownFeatures |
enum | MetaInformation { DocumentTitle, DocumentUrl, CssMedia } |
ResourceProvider | |
enum | ResourceType { UnknownResource, HtmlResource, ImageResource, StyleSheetResource, MarkdownResource, UserResource } |
enum | Stacks { UndoStack, RedoStack, UndoAndRedoStacks } |
|
|
QTextDocument (QObject * parent = nullptr) | |
QTextDocument (const QString & text , QObject * parent = nullptr) | |
virtual | ~QTextDocument () |
void | addResource (int type , const QUrl & name , const QVariant & resource ) |
void | adjustSize () |
QList<QTextFormat> | allFormats () const |
int | availableRedoSteps () const |
int | availableUndoSteps () const |
QUrl | baseUrl () const |
qreal | baselineOffset () const |
QTextBlock | begin () const |
int | blockCount () const |
QChar | characterAt (int pos ) const |
int | characterCount () const |
virtual void | clear () |
void | clearUndoRedoStacks (QTextDocument::Stacks stacksToClear = UndoAndRedoStacks) |
QTextDocument * | clone (QObject * parent = nullptr) const |
Qt::CursorMoveStyle | defaultCursorMoveStyle () const |
QFont | defaultFont () const |
QString | defaultStyleSheet () const |
QTextOption | defaultTextOption () const |
QAbstractTextDocumentLayout * | documentLayout () const |
qreal | documentMargin () const |
void | drawContents (QPainter * p , const QRectF & rect = QRectF()) |
QTextBlock | end () const |
QTextCursor | find (const QString & subString , const QTextCursor & cursor , QTextDocument::FindFlags options = FindFlags()) const |
QTextCursor | find (const QString & subString , int position = 0, QTextDocument::FindFlags options = FindFlags()) const |
QTextCursor | find (const QRegularExpression & expr , int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
QTextCursor | find (const QRegularExpression & expr , const QTextCursor & cursor , QTextDocument::FindFlags options = FindFlags()) const |
QTextBlock | findBlock (int pos ) const |
QTextBlock | findBlockByLineNumber (int lineNumber ) const |
QTextBlock | findBlockByNumber (int blockNumber ) const |
QTextBlock | firstBlock () const |
qreal | idealWidth () const |
qreal | indentWidth () const |
bool | isEmpty () const |
bool | isLayoutEnabled () const |
bool | isModified () const |
bool | isRedoAvailable () const |
bool | isUndoAvailable () const |
bool | isUndoRedoEnabled () const |
QTextBlock | lastBlock () const |
int | lineCount () const |
void | markContentsDirty (int position , int length ) |
int | maximumBlockCount () const |
QString | metaInformation (QTextDocument::MetaInformation info ) const |
QTextObject * | 对象 (int objectIndex ) const |
QTextObject * | objectForFormat (const QTextFormat & f ) const |
int | pageCount () const |
QSizeF | pageSize () const |
void | print (QPagedPaintDevice * printer ) const |
void | redo (QTextCursor * cursor ) |
QVariant | resource (int type , const QUrl & name ) const |
QTextDocument::ResourceProvider | resourceProvider () const |
int | revision () const |
QTextFrame * | rootFrame () const |
void | setBaseUrl (const QUrl & url ) |
void | setBaselineOffset (qreal baseline ) |
void | setDefaultCursorMoveStyle (Qt::CursorMoveStyle style ) |
void | setDefaultFont (const QFont & font ) |
void | setDefaultStyleSheet (const QString & sheet ) |
void | setDefaultTextOption (const QTextOption & option ) |
void | setDocumentLayout (QAbstractTextDocumentLayout * layout ) |
void | setDocumentMargin (qreal margin ) |
void | setHtml (const QString & html ) |
void | setIndentWidth (qreal width ) |
void | setLayoutEnabled (bool b ) |
void | setMarkdown (const QString & markdown , QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) |
void | setMaximumBlockCount (int maximum ) |
void | setMetaInformation (QTextDocument::MetaInformation info , const QString & string ) |
void | setPageSize (const QSizeF & size ) |
void | setPlainText (const QString & text ) |
void | setResourceProvider (const QTextDocument::ResourceProvider & provider ) |
void | setSubScriptBaseline (qreal baseline ) |
void | setSuperScriptBaseline (qreal baseline ) |
void | setTextWidth (qreal width ) |
void | setUndoRedoEnabled (bool enable ) |
void | setUseDesignMetrics (bool b ) |
QSizeF | size () const |
qreal | subScriptBaseline () const |
qreal | superScriptBaseline () const |
qreal | textWidth () const |
QString | toHtml () const |
QString | toMarkdown (QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const |
QString | toPlainText () const |
QString | toRawText () const |
void | undo (QTextCursor * cursor ) |
bool | useDesignMetrics () const |
void | redo () |
void | setModified (bool m = true) |
void | undo () |
void | baseUrlChanged (const QUrl & url ) |
void | blockCountChanged (int newBlockCount ) |
void | contentsChange (int position , int charsRemoved , int charsAdded ) |
void | contentsChanged () |
void | cursorPositionChanged (const QTextCursor & cursor ) |
void | documentLayoutChanged () |
void | modificationChanged (bool changed ) |
void | redoAvailable (bool available ) |
void | undoAvailable (bool available ) |
void | undoCommandAdded () |
QTextDocument::ResourceProvider | defaultResourceProvider () |
void | setDefaultResourceProvider (const QTextDocument::ResourceProvider & provider ) |
virtual QTextObject * | createObject (const QTextFormat & format ) |
virtual QVariant | loadResource (int type , const QUrl & name ) |
QTextDocument 是结构化富文本文档容器,提供对样式化文本和各种类型的文档元素 (譬如:列表、表格、帧及图像) 的支持。可以创建它们为用于 QTextEdit ,或独立使用。
各文档元素的描述是通过关联格式对象。各格式对象被 QTextDocument 视为唯一对象,且可以传递给 objectForFormat () 以获得应用它的文档元素。
QTextDocument 可以以编程方式编辑使用 QTextCursor , and its contents can be examined by traversing the document structure. The entire document structure is stored as a hierarchy of document elements beneath the root frame, found with the rootFrame () function. Alternatively, if you just want to iterate over the textual contents of the document you can use begin (), end (),和 findBlock () to retrieve text blocks that you can examine and iterate over.
文档布局的确定是通过 documentLayout ();可以创建自己的 QAbstractTextDocumentLayout 子类并设置它使用 setDocumentLayout () 若想要使用自己的布局逻辑。可以获得文档的标题及其它元信息通过调用 metaInformation () 函数。向用户暴露文档是透过 QTextEdit 类,文档标题也可用凭借 QTextEdit::documentTitle () 函数。
The toPlainText () 和 toHtml () convenience functions allow you to retrieve the contents of the document as plain text and HTML. The document's text can be searched using the find () 函数。
可以控制文档履行撤消/重做操作使用 setUndoRedoEnabled () 函数。通过编辑器 Widget 可以控制撤销/重做系统透过 undo () 和 redo () 槽;文档还提供 contentsChanged (), undoAvailable (),和 redoAvailable () signals that inform connected editor widgets about the state of the undo/redo system. The following are the undo/redo operations of a QTextDocument:
另请参阅 QTextCursor , QTextEdit , 富文本处理 ,和 文本对象范例 .
此枚举描述的选项可用于 QTextDocument 的 find 函数。可以将来自以下列表中的选项 OR 在一起:
常量 | 值 | 描述 |
---|---|---|
QTextDocument::FindBackward
|
0x00001
|
向后而不是向前搜索。 |
QTextDocument::FindCaseSensitively
|
0x00002
|
默认情况下,find 工作不区分大小写。指定此选项会将查找操作行为更改为区分大小写。 |
QTextDocument::FindWholeWords
|
0x00004
|
使查找只匹配完整单词。 |
FindFlags 类型是 typedef 对于 QFlags <FindFlag>。它存储 FindFlag 值的 OR 组合。
此枚举描述可以被添加到文档的元信息的不同类型。
常量 | 值 | 描述 |
---|---|---|
QTextDocument::DocumentTitle
|
0
|
文档标题。 |
QTextDocument::DocumentUrl
|
1
|
文档的 URL。 loadResource () 函数将此 URL 用作基,当加载相关资源时。 |
QTextDocument::CssMedia
|
2
|
This value is used to select the corresponding '@media' rule, if any, from a specified CSS stylesheet when setHtml () is called. This enum value has been introduced in Qt 6.3. |
另请参阅 metaInformation (), setMetaInformation (),和 setHtml ().
[alias, since 6.1]
QTextDocument::
ResourceProvider
Type alias for std::function< QVariant (const QUrl &)>.
该 typedef 在 Qt 6.1 引入。
此枚举描述可以加载的资源类型通过 QTextDocument 's loadResource () 函数或通过 QTextBrowser::setSource ().
常量 | 值 | 描述 |
---|---|---|
QTextDocument::UnknownResource
|
0
|
资源未加载 (或资源类型未知)。 |
QTextDocument::HtmlResource
|
1
|
资源包含 HTML。 |
QTextDocument::ImageResource
|
2
|
The resource contains image data. Currently supported data types are QMetaType::QPixmap and QMetaType::QImage . If the corresponding variant is of type QMetaType::QByteArray then Qt attempts to load the image using QImage::loadFromData . QMetaType::QIcon is currently not supported. The icon needs to be converted to one of the supported types first, for example using QIcon::pixmap . |
QTextDocument::StyleSheetResource
|
3
|
资源包含 CSS。 |
QTextDocument::MarkdownResource
|
4
|
资源包含 Markdown。 |
QTextDocument::UserResource
|
100
|
用户定义资源类型的第 1 可用值。 |
另请参阅 loadResource () 和 QTextBrowser::sourceType ().
常量 | 值 | 描述 |
---|---|---|
QTextDocument::UndoStack
|
0x01
|
撤消堆栈。 |
QTextDocument::RedoStack
|
0x02
|
重做堆栈。 |
QTextDocument::UndoAndRedoStacks
|
UndoStack | RedoStack
|
撤消和重做堆栈。 |
此特性保持用于解析文档中相对资源 URL (统一资源定位符) 的基 URL。
Resource URLs are resolved to be within the same directory as the target of the base URL meaning any portion of the path after the last '/' will be ignored.
基 URL | 相对 URL | 解析 URL |
---|---|---|
file:///path/to/content | images/logo.png | file:///path/to/images/logo.png |
file:///path/to/content/ | images/logo.png | file:///path/to/content/images/logo.png |
file:///path/to/content/index.html | images/logo.png | file:///path/to/content/images/logo.png |
file:///path/to/content/images/ | ../images/logo.png | file:///path/to/content/images/logo.png |
访问函数:
QUrl | baseUrl () const |
void | setBaseUrl (const QUrl & url ) |
通知程序信号:
void | baseUrlChanged (const QUrl & url ) |
[read-only]
blockCount
: const
int
此特性保持文档文本块数。
此特性的值在具有表格 (或框架) 的文档中未定义。
默认情况下,若有定义,此特性包含值 1。
访问函数:
int | blockCount () const |
另请参阅 lineCount () 和 characterCount ().
此特性保持用于显示文档文本的默认字体
访问函数:
QFont | defaultFont () const |
void | setDefaultFont (const QFont & font ) |
The default style sheet is applied to all newly HTML formatted text that is inserted into the document, for example using setHtml () 或 QTextCursor::insertHtml ().
样式表需要遵从 CSS 2.1 句法。
注意: Changing the default style sheet does not have any effect to the existing content of the document.
访问函数:
QString | defaultStyleSheet () const |
void | setDefaultStyleSheet (const QString & sheet ) |
另请参阅 支持的 HTML 子集 .
This property holds the default text option will be set on all QTextLayout s in the document.
当 QTextBlock s are created, the defaultTextOption is set on their QTextLayout . This allows setting global properties for the document such as the default word wrap mode.
访问函数:
QTextOption | defaultTextOption () const |
void | setDefaultTextOption (const QTextOption & option ) |
围绕文档的边距。默认为 4。
访问函数:
qreal | documentMargin () const |
void | setDocumentMargin (qreal margin ) |
Returns the width used for text list and text block indenting.
缩进特性对于 QTextListFormat and QTextBlockFormat specify multiples of this value. The default indent width is 40.
访问函数:
qreal | indentWidth () const |
void | setIndentWidth (qreal width ) |
[since 6.4]
layoutEnabled
:
bool
此特性保持是否 QTextDocument should recalculate the layout after every change
If this property is set to true, any change to the document triggers a layout, which makes everything work as expected but takes time.
Temporarily disabling the layout can save time when making multiple changes (not just text content, but also default font, default text option....) so that the document is only laid out once at the end. This can be useful when the text width or page size isn't yet known, for instance.
默认情况下,此特性为
true
.
该特性在 Qt 6.4 引入。
访问函数:
bool | isLayoutEnabled () const |
void | setLayoutEnabled (bool b ) |
另请参阅 setTextWidth .
指定对文档的块数限制。
指定文档可能拥有的最大块数。若采用此特性的指定文档有更多块,则块被移除从文档开头。
文档的负值 (或零值) 指定可能包含无限数量的块。
默认值为 0。
注意:设置此特性会立即将限制应用于文档内容。
设置此特性还会禁用撤消、重做历史。
此特性在具有表格 (或框架) 的文档中未定义。
访问函数:
int | maximumBlockCount () const |
void | setMaximumBlockCount (int maximum ) |
此特性保持文档是否已被用户修改
默认情况下,此特性为
false
.
访问函数:
bool | isModified () const |
void | setModified (bool m = true) |
另请参阅 modificationChanged ().
This property holds the page size that should be used for laying out the document
The units are determined by the underlying paint device. The size is measured in logical pixels when painting to the screen, and in points (1/72 inch) when painting to a printer.
By default, for a newly-created, empty document, this property contains an undefined size.
访问函数:
QSizeF | pageSize () const |
void | setPageSize (const QSizeF & size ) |
另请参阅 modificationChanged ().
[read-only]
size
: const
QSizeF
This property holds the actual size of the document. This is equivalent to documentLayout ()->documentSize();
The size of the document can be changed either by setting a text width or setting an entire page size.
Note that the width is always >= pageSize ().width().
By default, for a newly-created, empty document, this property contains a configuration-dependent size.
访问函数:
QSizeF | size () const |
另请参阅 setTextWidth (), setPageSize (),和 idealWidth ().
The text width specifies the preferred width for text in the document. If the text (or content in general) is wider than the specified with it is broken into multiple lines and grows vertically. If the text cannot be broken into multiple lines to fit into the specified text width it will be larger and the size () 和 idealWidth () property will reflect that.
If the text width is set to -1 then the text will not be broken into multiple lines unless it is enforced through an explicit line break or a new paragraph.
默认值为 -1。
Setting the text width will also set the page height to -1, causing the document to grow or shrink vertically in a continuous way. If you want the document layout to break the text into multiple pages then you have to set the pageSize 特性代替。
访问函数:
qreal | textWidth () const |
void | setTextWidth (qreal width ) |
另请参阅 size (), idealWidth (),和 pageSize ().
This property holds whether undo/redo are enabled for this document
This defaults to true. If disabled, the undo stack is cleared and no items will be added to it.
访问函数:
bool | isUndoRedoEnabled () const |
void | setUndoRedoEnabled (bool enable ) |
This property holds whether the document uses design metrics of fonts to improve the accuracy of text layout
If this property is set to true, the layout will use design metrics. Otherwise, the metrics of the paint device as set on QAbstractTextDocumentLayout::setPaintDevice () will be used.
Using design metrics makes a layout have a width that is no longer dependent on hinting and pixel-rounding. This means that WYSIWYG text layout becomes possible because the width scales much more linearly based on paintdevice metrics than it would otherwise.
默认情况下,此特性为
false
.
访问函数:
bool | useDesignMetrics () const |
void | setUseDesignMetrics (bool b ) |
[explicit]
QTextDocument::
QTextDocument
(
QObject
*
parent
= nullptr)
构造空的 QTextDocument 采用给定 parent .
[explicit]
QTextDocument::
QTextDocument
(const
QString
&
text
,
QObject
*
parent
= nullptr)
构造 QTextDocument 包含纯 (无格式) text 指定,和采用给定 parent .
[虚拟]
QTextDocument::
~QTextDocument
()
销毁文档。
添加资源 resource to the resource cache, using type and name as identifiers. type should be a value from QTextDocument::ResourceType .
For example, you can add an image as a resource in order to reference it from within the document:
document->addResource(QTextDocument::ImageResource, QUrl("mydata://image.png"), QVariant(image));
The image can be inserted into the document using the QTextCursor API:
QTextImageFormat imageFormat; imageFormat.setName("mydata://image.png"); cursor.insertImage(imageFormat);
Alternatively, you can insert images using the HTML
img
tag:
editor->append("<img src=\"mydata://image.png\" />");
把文档调节到合理大小。
另请参阅 idealWidth (), textWidth ,和 size .
Returns a list of text formats for all the formats used in the document.
返回可用的重做步骤数。
另请参阅 isRedoAvailable ().
返回可用的撤消步骤数。
另请参阅 isUndoAvailable ().
[since 6.0]
qreal
QTextDocument::
baselineOffset
() const
Returns the the baseline offset in % used in the document layout.
该函数在 Qt 6.0 引入。
另请参阅 setBaselineOffset (), setSubScriptBaseline (), subScriptBaseline (), setSuperScriptBaseline (),和 superScriptBaseline ().
返回文档的第一文本块。
另请参阅 firstBlock ().
[signal]
void
QTextDocument::
blockCountChanged
(
int
newBlockCount
)
This signal is emitted when the total number of text blocks in the document changes. The value passed in newBlockCount 是新的总计。
返回字符位于位置 pos ,或 null 字符若位置超出范围。
另请参阅 characterCount ().
返回此文档的字符数。
注意: As a QTextDocument 始终包含至少一 QChar::ParagraphSeparator ,此方法将至少返回 1。
另请参阅 blockCount () 和 characterAt ().
[虚拟]
void
QTextDocument::
clear
()
清理文档。
清零堆栈,指定通过 stacksToClear .
此方法清零撤消堆栈、重做堆栈或两者 (默认) 中的任何命令。若命令被清零,会发射适当信号 QTextDocument::undoAvailable () 或 QTextDocument::redoAvailable ().
另请参阅 QTextDocument::undoAvailable () 和 QTextDocument::redoAvailable ().
创建新的 QTextDocument that is a copy of this text document. parent is the parent of the returned text document.
[signal]
void
QTextDocument::
contentsChange
(
int
position
,
int
charsRemoved
,
int
charsAdded
)
此信号被发射每当文档内容改变时;例如,当插入 (或删除) 文本 (或应用格式) 时。
Information is provided about the position of the character in the document where the change occurred, the number of characters removed ( charsRemoved ), and the number of characters added ( charsAdded ).
The signal is emitted before the document's layout manager is notified about the change. This hook allows you to implement syntax highlighting for the document.
另请参阅 QAbstractTextDocumentLayout::documentChanged () 和 contentsChanged ().
[signal]
void
QTextDocument::
contentsChanged
()
此信号被发射每当文档内容改变时;例如,当插入 (或删除) 文本 (或应用格式) 时。
另请参阅 contentsChange ().
[virtual protected]
QTextObject
*QTextDocument::
createObject
(const
QTextFormat
&
format
)
创建并返回新文档对象 ( QTextObject ),基于给定 format .
QTextObjects will always get created through this method, so you must reimplement it if you use custom text objects inside your document.
[signal]
void
QTextDocument::
cursorPositionChanged
(const
QTextCursor
&
cursor
)
This signal is emitted whenever the position of a cursor changed due to an editing operation. The cursor that changed is passed in cursor 。若文档用于 QTextEdit class and you need a signal when the cursor is moved with the arrow keys you can use the cursorPositionChanged () signal in QTextEdit .
The default cursor movement style is used by all QTextCursor objects created from the document. The default is Qt::LogicalMoveStyle .
另请参阅 setDefaultCursorMoveStyle ().
返回用于文档布局的默认字体。
注意: getter 函数对于特性 defaultFont。
另请参阅 setDefaultFont ().
[static, since 6.1]
QTextDocument::ResourceProvider
QTextDocument::
defaultResourceProvider
()
Returns the default resource provider.
该函数在 Qt 6.1 引入。
另请参阅 setDefaultResourceProvider (), resourceProvider (),和 loadResource ().
默认文本选项可以用于所有 QTextLayout objects in the document. This allows setting global properties for the document such as the default word wrap mode.
注意: getter 函数对于特性 defaultTextOption。
另请参阅 setDefaultTextOption ().
返回此文档的文档布局。
另请参阅 setDocumentLayout ().
[signal]
void
QTextDocument::
documentLayoutChanged
()
此信号被发射,当设置新文档布局时。
另请参阅 setDocumentLayout ().
绘制文档内容采用描绘器 p ,裁剪到 rect 。若 rect 是 null 矩形 (默认) 则不裁剪描绘文档。
此函数返回当遍历时,测试文档结尾的块。
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next()) std::cout << it.text().toStdString() << "\n";
返回的块无效,表示文档最后块之后的块。可以使用 lastBlock () 以检索文档的最后有效块。
另请参阅 lastBlock ().
查找下一出现为字符串 subString 在文档中。搜索始于位置给定 cursor ,且透过文档向前继续进行,除非有指定,否则按 options 进行搜索。 options 控制履行搜索的类型。
返回具有匹配选中的光标若 subString 被找到;否则返回 null 光标。
若给定 cursor 拥有选定,在选定后开始搜索;否则从光标位置开始。
默认情况下,搜索不区分大小写,且可以匹配文档中任何地方的文本。
这是重载函数。
查找下一出现为字符串 subString 在文档中。搜索始于给定 position ,且透过文档向前继续进行,除非有指定,否则按 options 进行搜索。 options 控制履行搜索的类型。
返回具有匹配选中的光标若 subString 被找到;否则返回 null 光标。
若 position 为 0 (默认) 搜索从文档开头开始;否则从指定位置开始。
查找的下一出现匹配给定正则表达式 expr ,在文档同一段落中。
搜索始于给定 from 位置,并透过文档向前继续进行,除非有指定,否则按 options 进行搜索。 options 控制履行搜索的类型。
返回具有匹配选中的光标,若找到匹配;否则返回 null 光标。
若 from 位置为 0 (默认),搜索从文档开头开始;否则,从指定位置开始。
查找的下一出现匹配给定正则表达式 expr ,在文档同一段落中。
搜索始于位置给定 cursor ,且透过文档向前继续进行,除非有指定,否则按 options 进行搜索。 options 控制履行搜索的类型。
返回具有匹配选中的光标,若找到匹配;否则返回 null 光标。
若给定 cursor 拥有选定,在选定后开始搜索;否则从光标位置开始。
默认情况下,搜索不区分大小写,且可以匹配文档中任何地方的文本。
返回文本块包含 pos 的字符。
返回文本块包含指定 lineNumber .
另请参阅 QTextBlock::firstLineNumber ().
返回文本块采用指定 blockNumber .
另请参阅 QTextBlock::blockNumber ().
返回文档的第一文本块。
返回文本文档的理想宽度。理想宽度是不考虑可选对齐的文档实际使用宽度。它终 <= size ().width().
另请参阅 adjustSize () 和 textWidth .
返回
true
若文档为空;否则返回
false
.
返回
true
若重做是可用的;否则返回
false
.
另请参阅 isUndoAvailable () 和 availableRedoSteps ().
返回
true
若撤消可用;否则返回
false
.
另请参阅 isRedoAvailable () 和 availableUndoSteps ().
返回文档的最后 (有效) 文本块。
返回此文档的行数 (若布局支持此)。否则,这就等同于块数。
另请参阅 blockCount () 和 characterCount ().
[virtual protected invokable]
QVariant
QTextDocument::
loadResource
(
int
type
, const
QUrl
&
name
)
加载数据按指定 type 从资源采用给定 name .
此函数的调用是由富文本引擎,以请求未直接存储的数据通过 QTextDocument ,但仍然与之关联。例如,图像的间接引用是通过 name 属性 QTextImageFormat 对象。
当被 Qt 调用时, type 是之一值的 QTextDocument::ResourceType .
若 QTextDocument 是子级对象对于 QObject 拥有可援引 loadResource 方法譬如 QTextEdit , QTextBrowser 或 QTextDocument 本身,那么,默认实现会试着从父级检索数据。
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QTextDocument::ResourceProvider .
标记内容指定通过给定 position and length 为 dirty (脏),告知文档需要再次布局。
返回文档类型的有关元信息指定通过 info .
另请参阅 setMetaInformation ().
[signal]
void
QTextDocument::
modificationChanged
(
bool
changed
)
此信号被发射每当文档的内容以影响修改状态的方式更改时。若 changed 为 true,文档已被修改;否则它为 false。
例如:调用 setModified (false) 在文档,然后插入文本导致发射信号。若撤消该操作,导致文档返回其原始未修改状态,将再次发射信号。
返回的文本对象关联给定 objectIndex .
返回文本对象关联格式 f .
返回此文档中的页数。
将文档打印到给定 printer 。 QPagedPaintDevice 必须设置,先于与此函数一起使用。
这是将整个文档,打印到打印机的仅方便方法。
若文档已透过指定高度被分页按 pageSize () 特性,按原样打印。
若文档未分页,例如,像文档用于 QTextEdit , then a temporary copy of the document is created and the copy is broken into multiple pages according to the size of the paint device's paperRect(). By default a 2 cm margin is set around the document contents. In addition the current page number is printed at the bottom of each page.
另请参阅 QTextEdit::print ().
重做文档的最后编辑操作若 重做是可用的 .
提供的 cursor 位于重做编辑操作位置的末尾。
[slot]
void
QTextDocument::
redo
()
这是重载函数。
重做文档的最后编辑操作若 重做是可用的 .
[signal]
void
QTextDocument::
redoAvailable
(
bool
available
)
此信号被发射,每当重做操作变为可用时 ( available 为 True) 或不可用 ( available 为 false)。
返回数据为指定 type 从资源采用给定 name .
此函数的调用是由富文本引擎,以请求未直接存储的数据通过 QTextDocument ,但仍然与之关联。例如,图像的间接引用是通过 name 属性 QTextImageFormat 对象。
资源缓存在文档内部。若在缓存中找不到资源, loadResource 被调用以试着加载资源。 loadResource 则应使用 addResource 以将资源添加到缓存。
若 loadResource does not load the resource, then the resourceProvider and lastly the defaultResourceProvider will be called, if set. Note that the result from the provider will not be added automatically to the cache.
另请参阅 QTextDocument::ResourceType and resourceProvider ().
[since 6.1]
QTextDocument::ResourceProvider
QTextDocument::
resourceProvider
() const
Returns the resource provider for this text document.
该函数在 Qt 6.1 引入。
另请参阅 setResourceProvider (), defaultResourceProvider (),和 loadResource ().
返回文档的修订 (若撤消被启用)。
保证递增修订,当编辑未修改文档时。
另请参阅 QTextBlock::revision () 和 isModified ().
返回文档的根框架。
[since 6.0]
void
QTextDocument::
setBaselineOffset
(
qreal
baseline
)
Sets the base line as a% of font height to use in the document layout to baseline . The default value is 0. A positive value moves up the text, by the corresponding %; a negative value moves it down.
该函数在 Qt 6.0 引入。
另请参阅 baselineOffset (), setSubScriptBaseline (), subScriptBaseline (), setSuperScriptBaseline (),和 superScriptBaseline ().
把默认光标移动样式设为给定 style .
另请参阅 defaultCursorMoveStyle ().
设置默认 font 以用于文档布局。
注意: setter 函数对于特性 defaultFont .
另请参阅 defaultFont ().
[static, since 6.1]
void
QTextDocument::
setDefaultResourceProvider
(const
QTextDocument::ResourceProvider
&
provider
)
将默认资源提供程序设为 provider .
The default provider will be used by all QTextDocuments that don't have an explicit provider set.
该函数在 Qt 6.1 引入。
另请参阅 defaultResourceProvider (), setResourceProvider (),和 loadResource ().
将默认文本选项设为 option .
注意: setter 函数对于特性 defaultTextOption .
另请参阅 defaultTextOption ().
将文档设为使用给定 layout 。删除先前布局。
另请参阅 documentLayoutChanged ().
替换文档的整个内容以给定 HTML 格式化文本按 html 字符串。撤消/重做历史被重置,当调用此函数时。
The HTML formatting is respected as much as possible; for example, "<b>bold</b> text" will produce text where the first word has a font weight that gives it a bold appearance: " bold text".
To select a css media rule other than the default "screen" rule, use setMetaInformation () with ' CssMedia ' as "info" parameter.
注意: 调用者有责任确保正确解码文本当 QString 包含的 HTML 被创建并传递给 setHtml() 时。
另请参阅 setPlainText (), 支持的 HTML 子集 ,和 setMetaInformation ().
设置 width 用于文本列表和文本块缩进。
缩进特性对于 QTextListFormat and QTextBlockFormat specify multiples of this value. The default indent width is 40.
注意: setter 函数对于特性 indentWidth .
另请参阅 indentWidth ().
替换文档的整个内容以给定 Markdown 格式化文本按
markdown
字符串,采用给定
features
支持。默认情况下,包括所有支持的 GitHub 风格 Markdown 特征;传递
MarkdownDialectCommonMark
为更多基本剖析。
The Markdown formatting is respected as much as possible; for example, "*bold* text" will produce text where the first word has a font weight that gives it an emphasized appearance.
Parsing of HTML included in the markdown string is handled in the same way as in setHtml ;不管怎样,不支持 HTML 块内的 Markdown 格式。
可以启用 (或禁用) 剖析器的某些特征凭借 features 自变量:
常量 | 描述 |
---|---|
MarkdownNoHTML
|
将丢弃 Markdown 文本中的任何 HTML 标签 |
MarkdownDialectCommonMark
|
剖析器仅支持由 CommonMark 标准化的特征 |
MarkdownDialectGitHub
|
剖析器支持 GitHub 方言 |
默认为
MarkdownDialectGitHub
.
撤消/重做历史被重置,当调用此函数时。
设置文档的元信息,类型指定通过 info 到给定 string .
另请参阅 metaInformation ().
替换文档的整个内容采用给定纯 text 。撤消/重做历史被重置,当调用此函数时。
另请参阅 setHtml ().
[since 6.1]
void
QTextDocument::
setResourceProvider
(const
QTextDocument::ResourceProvider
&
provider
)
Sets the provider of resources for the text document to provider .
该函数在 Qt 6.1 引入。
另请参阅 resourceProvider () 和 loadResource ().
[since 6.0]
void
QTextDocument::
setSubScriptBaseline
(
qreal
baseline
)
Sets the default subscript's base line as a % of font height to use in the document layout to baseline . The default value is 16.67% (1/6 of height).
该函数在 Qt 6.0 引入。
另请参阅 subScriptBaseline (), setSuperScriptBaseline (), superScriptBaseline (), setBaselineOffset (),和 baselineOffset ().
[since 6.0]
void
QTextDocument::
setSuperScriptBaseline
(
qreal
baseline
)
Sets the default superscript's base line as a % of font height to use in the document layout to baseline . The default value is 50% (1/2 of height).
该函数在 Qt 6.0 引入。
另请参阅 superScriptBaseline (), setSubScriptBaseline (), subScriptBaseline (), setBaselineOffset (),和 baselineOffset ().
[since 6.0]
qreal
QTextDocument::
subScriptBaseline
() const
Returns the superscript's base line as a % of font height used in the document layout.
该函数在 Qt 6.0 引入。
另请参阅 setSubScriptBaseline (), setSuperScriptBaseline (), superScriptBaseline (), setBaselineOffset (),和 baselineOffset ().
[since 6.0]
qreal
QTextDocument::
superScriptBaseline
() const
Returns the superscript's base line as a % of font height used in the document layout.
该函数在 Qt 6.0 引入。
另请参阅 setSuperScriptBaseline (), setSubScriptBaseline (), subScriptBaseline (), setBaselineOffset (),和 baselineOffset ().
返回包含文档 HTML 表示的字符串。
The content of the document specifies its encoding to be UTF-8. If you later on convert the returned html string into a byte array for transmission over a network or when saving to disk you should use QString::toUtf8 () to convert the string to a QByteArray .
另请参阅 支持的 HTML 子集 .
返回字符串包含文档 Markdown 表示采用给定 features ,或空字符串,若因任何原因写入失败。
另请参阅 setMarkdown .
返回文档包含的纯文本。若想要格式化信息,使用 QTextCursor 代替。
此函数返回如同 toRawText (), but will replace some unicode characters with ASCII alternatives. In particular, no-break space (U+00A0) is replaced by a regular space (U+0020), and both paragraph (U+2029) and line (U+2028) separators are replaced by line feed (U+000A). If you need the precise contents of the document, use toRawText () 代替。
注意: Embedded objects, such as images, are represented by a Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER).
另请参阅 toHtml ().
返回文档包含的原生文本,没有任何格式化信息。若想要格式化信息,使用 QTextCursor 代替。
另请参阅 toPlainText ().
撤消文档的最后编辑操作,若撤销可用。提供 cursor 位于撤消编辑操作位置的末尾。
见 Qt 撤消框架 文档编制了解细节。
另请参阅 undoAvailable () 和 isUndoRedoEnabled ().
[slot]
void
QTextDocument::
undo
()
这是重载函数。
[signal]
void
QTextDocument::
undoAvailable
(
bool
available
)
此信号被发射每当撤消操作变为可用 ( available 为 True) 或不可用 ( available 为 false)。
见 Qt 撤消框架 文档编制了解细节。
另请参阅 undo () 和 isUndoRedoEnabled ().
[signal]
void
QTextDocument::
undoCommandAdded
()
This signal is emitted every time a new level of undo is added to the QTextDocument .