Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QTextDocument Class Reference

\reentrant \inmodule QtGui More...

#include <qtextdocument.h>

+ Inheritance diagram for QTextDocument:
+ Collaboration diagram for QTextDocument:

Public Types

enum  MetaInformation { DocumentTitle , DocumentUrl , CssMedia , FrontMatter }
 This enum describes the different types of meta information that can be added to a document. More...
 
enum  FindFlag { FindBackward = 0x00001 , FindCaseSensitively = 0x00002 , FindWholeWords = 0x00004 }
 This enum describes the options available to QTextDocument's find function. More...
 
enum  ResourceType {
  UnknownResource = 0 , HtmlResource = 1 , ImageResource = 2 , StyleSheetResource = 3 ,
  MarkdownResource = 4 , UserResource = 100
}
 This enum describes the types of resources that can be loaded by QTextDocument's loadResource() function or by QTextBrowser::setSource(). More...
 
enum  Stacks { UndoStack = 0x01 , RedoStack = 0x02 , UndoAndRedoStacks = UndoStack | RedoStack }
 \value UndoStack The undo stack. More...
 
using ResourceProvider = std::function<QVariant(const QUrl&)>
 

Public Slots

void undo ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void redo ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Redoes the last editing operation on the document if \l{QTextDocument::isRedoAvailable()}{redo is available}.
 
void appendUndoItem (QAbstractUndoItem *)
 
void setModified (bool m=true)
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void contentsChange (int from, int charsRemoved, int charsAdded)
 This signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied.
 
void contentsChanged ()
 This signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied.
 
void undoAvailable (bool)
 This signal is emitted whenever undo operations become available (available is true) or unavailable (available is false).
 
void redoAvailable (bool)
 This signal is emitted whenever redo operations become available (available is true) or unavailable (available is false).
 
void undoCommandAdded ()
 
void modificationChanged (bool m)
 This signal is emitted whenever the content of the document changes in a way that affects the modification state.
 
void cursorPositionChanged (const QTextCursor &cursor)
 This signal is emitted whenever the position of a cursor changed due to an editing operation.
 
void blockCountChanged (int newBlockCount)
 
void baseUrlChanged (const QUrl &url)
 
void documentLayoutChanged ()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QTextDocument (QObject *parent=nullptr)
 Constructs an empty QTextDocument with the given parent.
 
 QTextDocument (const QString &text, QObject *parent=nullptr)
 Constructs a QTextDocument containing the plain (unformatted) text specified, and with the given parent.
 
 ~QTextDocument ()
 Destroys the document.
 
QTextDocumentclone (QObject *parent=nullptr) const
 Creates a new QTextDocument that is a copy of this text document.
 
bool isEmpty () const
 Returns true if the document is empty; otherwise returns false.
 
virtual void clear ()
 Clears the document.
 
void setUndoRedoEnabled (bool enable)
 
bool isUndoRedoEnabled () const
 
bool isUndoAvailable () const
 Returns true if undo is available; otherwise returns false.
 
bool isRedoAvailable () const
 Returns true if redo is available; otherwise returns false.
 
int availableUndoSteps () const
 
int availableRedoSteps () const
 
int revision () const
 
void setDocumentLayout (QAbstractTextDocumentLayout *layout)
 Sets the document to use the given layout.
 
QAbstractTextDocumentLayoutdocumentLayout () const
 Returns the document layout for this document.
 
void setMetaInformation (MetaInformation info, const QString &)
 Sets the document's meta information of the type specified by info to the given string.
 
QString metaInformation (MetaInformation info) const
 Returns meta information about the document of the type specified by info.
 
QString toHtml () const
 Returns a string containing an HTML representation of the document.
 
void setHtml (const QString &html)
 Replaces the entire contents of the document with the given HTML-formatted text in the html string.
 
QString toRawText () const
 Returns the raw text contained in the document without any formatting information.
 
QString toPlainText () const
 Returns the plain text contained in the document.
 
void setPlainText (const QString &text)
 Replaces the entire contents of the document with the given plain text.
 
QChar characterAt (int pos) const
 
QTextCursor find (const QString &subString, int from=0, FindFlags options=FindFlags()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Finds the next occurrence of the string, subString, in the document.
 
QTextCursor find (const QString &subString, const QTextCursor &cursor, FindFlags options=FindFlags()) const
 Finds the next occurrence of the string, subString, in the document.
 
QTextFrameframeAt (int pos) const
 
QTextFramerootFrame () const
 Returns the document's root frame.
 
QTextObjectobject (int objectIndex) const
 Returns the text object associated with the given objectIndex.
 
QTextObjectobjectForFormat (const QTextFormat &) const
 Returns the text object associated with the format f.
 
QTextBlock findBlock (int pos) const
 Returns the text block that contains the {pos}-th character.
 
QTextBlock findBlockByNumber (int blockNumber) const
 
QTextBlock findBlockByLineNumber (int blockNumber) const
 
QTextBlock begin () const
 Returns the document's first text block.
 
QTextBlock end () const
 This function returns a block to test for the end of the document while iterating over it.
 
QTextBlock firstBlock () const
 
QTextBlock lastBlock () const
 
void setPageSize (const QSizeF &size)
 
QSizeF pageSize () const
 
void setDefaultFont (const QFont &font)
 Sets the default font to use in the document layout.
 
QFont defaultFont () const
 Returns the default font to be used in the document layout.
 
void setSuperScriptBaseline (qreal baseline)
 
qreal superScriptBaseline () const
 
void setSubScriptBaseline (qreal baseline)
 
qreal subScriptBaseline () const
 
void setBaselineOffset (qreal baseline)
 
qreal baselineOffset () const
 
int pageCount () const
 returns the number of pages in this document.
 
bool isModified () const
 
void print (QPagedPaintDevice *printer) const
 Prints the document to the given printer.
 
QVariant resource (int type, const QUrl &name) const
 Returns data of the specified type from the resource with the given name.
 
void addResource (int type, const QUrl &name, const QVariant &resource)
 Adds the resource resource to the resource cache, using type and name as identifiers.
 
QTextDocument::ResourceProvider resourceProvider () const
 
void setResourceProvider (const ResourceProvider &provider)
 
QList< QTextFormatallFormats () const
 Returns a list of text formats for all the formats used in the document.
 
void markContentsDirty (int from, int length)
 Marks the contents specified by the given position and length as "dirty", informing the document that it needs to be laid out again.
 
void setUseDesignMetrics (bool b)
 
bool useDesignMetrics () const
 
void setLayoutEnabled (bool b)
 
bool isLayoutEnabled () const
 
void drawContents (QPainter *painter, const QRectF &rect=QRectF())
 
void setTextWidth (qreal width)
 
qreal textWidth () const
 
qreal idealWidth () const
 
qreal indentWidth () const
 
void setIndentWidth (qreal width)
 
qreal documentMargin () const
 
void setDocumentMargin (qreal margin)
 
void adjustSize ()
 
QSizeF size () const
 
int blockCount () const
 
int lineCount () const
 
int characterCount () const
 
void setDefaultStyleSheet (const QString &sheet)
 
QString defaultStyleSheet () const
 
void undo (QTextCursor *cursor)
 
void redo (QTextCursor *cursor)
 
void clearUndoRedoStacks (Stacks historyToClear=UndoAndRedoStacks)
 
int maximumBlockCount () const
 
void setMaximumBlockCount (int maximum)
 
QTextOption defaultTextOption () const
 the default text option will be set on all \l{QTextLayout}s in the document.
 
void setDefaultTextOption (const QTextOption &option)
 
QUrl baseUrl () const
 
void setBaseUrl (const QUrl &url)
 
Qt::CursorMoveStyle defaultCursorMoveStyle () const
 
void setDefaultCursorMoveStyle (Qt::CursorMoveStyle style)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Static Public Member Functions

static QTextDocument::ResourceProvider defaultResourceProvider ()
 
static void setDefaultResourceProvider (const ResourceProvider &provider)
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 

Protected Member Functions

virtual QTextObjectcreateObject (const QTextFormat &f)
 Creates and returns a new document object (a QTextObject), based on the given format.
 
virtual Q_INVOKABLE QVariant loadResource (int type, const QUrl &name)
 Loads data of the specified type from the resource with the given name.
 
 QTextDocument (QTextDocumentPrivate &dd, QObject *parent)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

bool undoRedoEnabled
 whether undo/redo are enabled for this document
 
bool modified
 whether the document has been modified by the user
 
QSizeF pageSize
 the page size that should be used for laying out the document
 
QFont defaultFont
 the default font used to display the document's text
 
bool useDesignMetrics
 whether the document uses design metrics of fonts to improve the accuracy of text layout
 
bool layoutEnabled
 whether QTextDocument should recalculate the layout after every change
 
QSizeF size
 the actual size of the document. This is equivalent to documentLayout()->documentSize();
 
qreal textWidth
 
int blockCount
 the number of text blocks in the document.
 
qreal indentWidth
 
QString defaultStyleSheet
 
int maximumBlockCount
 Specifies the limit for blocks in the document.
 
qreal documentMargin
 
QUrl baseUrl
 the base URL used to resolve relative resource URLs within the document.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Friends

class QTextObjectPrivate
 

Additional Inherited Members

- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

\reentrant \inmodule QtGui

The QTextDocument class holds formatted text.

QTextDocument is a container for structured rich text documents, providing support for styled text and various types of document elements, such as lists, tables, frames, and images. They can be created for use in a QTextEdit, or used independently.

Each document element is described by an associated format object. Each format object is treated as a unique object by QTextDocuments, and can be passed to objectForFormat() to obtain the document element that it is applied to.

A QTextDocument can be edited programmatically using a 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(), and findBlock() to retrieve text blocks that you can examine and iterate over.

The layout of a document is determined by the documentLayout(); you can create your own QAbstractTextDocumentLayout subclass and set it using setDocumentLayout() if you want to use your own layout logic. The document's title and other meta-information can be obtained by calling the metaInformation() function. For documents that are exposed to users through the QTextEdit class, the document title is also available via the QTextEdit::documentTitle() function.

The toPlainText() and 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() functions.

Undo/redo of operations performed on the document can be controlled using the setUndoRedoEnabled() function. The undo/redo system can be controlled by an editor widget through the undo() and redo() slots; the document also provides contentsChanged(), undoAvailable(), and 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:

\list

  • Insertion or removal of characters. A sequence of insertions or removals within the same text block are regarded as a single undo/redo operation.
  • Insertion or removal of text blocks. Sequences of insertion or removals in a single operation (e.g., by selecting and then deleting text) are regarded as a single undo/redo operation.
  • Text character format changes.
  • Text block format changes.
  • Text block group format changes. \endlist
See also
QTextCursor, QTextEdit, {Rich Text Processing}

Definition at line 59 of file qtextdocument.h.

Member Typedef Documentation

◆ ResourceProvider

using QTextDocument::ResourceProvider = std::function<QVariant(const QUrl&)>

Definition at line 211 of file qtextdocument.h.

Member Enumeration Documentation

◆ FindFlag

This enum describes the options available to QTextDocument's find function.

The options can be OR-ed together from the following list:

\value FindBackward Search backwards instead of forwards. \value FindCaseSensitively By default find works case insensitive. Specifying this option changes the behaviour to a case sensitive find operation. \value FindWholeWords Makes find match only complete words.

Enumerator
FindBackward 
FindCaseSensitively 
FindWholeWords 

Definition at line 143 of file qtextdocument.h.

◆ MetaInformation

This enum describes the different types of meta information that can be added to a document.

\value DocumentTitle The title of the document. \value DocumentUrl The url of the document. The loadResource() function uses this url as the base when loading relative resources. \value CssMedia 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. \value FrontMatter This value is used to select header material, if any was extracted during parsing of the source file (currently only from Markdown format). This enum value has been introduced in Qt 6.8.

See also
metaInformation(), setMetaInformation(), setHtml()
Enumerator
DocumentTitle 
DocumentUrl 
CssMedia 
FrontMatter 

Definition at line 105 of file qtextdocument.h.

◆ ResourceType

This enum describes the types of resources that can be loaded by QTextDocument's loadResource() function or by QTextBrowser::setSource().

\value UnknownResource No resource is loaded, or the resource type is not known. \value HtmlResource The resource contains HTML. \value ImageResource 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. \value StyleSheetResource The resource contains CSS. \value MarkdownResource The resource contains Markdown. \value UserResource The first available value for user defined resource types.

See also
loadResource(), QTextBrowser::sourceType()
Enumerator
UnknownResource 
HtmlResource 
ImageResource 
StyleSheetResource 
MarkdownResource 
UserResource 

Definition at line 197 of file qtextdocument.h.

◆ Stacks

\value UndoStack The undo stack.

\value RedoStack The redo stack. \value UndoAndRedoStacks Both the undo and redo stacks.

Enumerator
UndoStack 
RedoStack 
UndoAndRedoStacks 

Definition at line 257 of file qtextdocument.h.

Constructor & Destructor Documentation

◆ QTextDocument() [1/3]

QTextDocument::QTextDocument ( QObject * parent = nullptr)
explicit

Constructs an empty QTextDocument with the given parent.

Definition at line 277 of file qtextdocument.cpp.

References d.

Referenced by clone().

+ Here is the caller graph for this function:

◆ QTextDocument() [2/3]

QTextDocument::QTextDocument ( const QString & text,
QObject * parent = nullptr )
explicit

Constructs a QTextDocument containing the plain (unformatted) text specified, and with the given parent.

Definition at line 288 of file qtextdocument.cpp.

References d, QTextCursor::insertText(), and text.

+ Here is the call graph for this function:

◆ ~QTextDocument()

QTextDocument::~QTextDocument ( )

Destroys the document.

Definition at line 309 of file qtextdocument.cpp.

◆ QTextDocument() [3/3]

QTextDocument::QTextDocument ( QTextDocumentPrivate & dd,
QObject * parent )
protected

Definition at line 299 of file qtextdocument.cpp.

References d.

Member Function Documentation

◆ addResource()

void QTextDocument::addResource ( int type,
const QUrl & name,
const QVariant & resource )

Adds the resource 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:

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:

Definition at line 2186 of file qtextdocument.cpp.

References d, Q_UNUSED, and resource().

Referenced by getAs(), TextEdit::insertFromMimeData(), QTextCursor::insertImage(), and src_gui_text_qtextcursor::wrapper0().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ adjustSize()

void QTextDocument::adjustSize ( )
Since
4.2

Adjusts the document to a reasonable size.

See also
idealWidth(), textWidth, size

Definition at line 836 of file qtextdocument.cpp.

References defaultFont, documentLayout(), QAbstractTextDocumentLayout::documentSize(), idealWidth(), qMin(), qt_int_sqrt(), and setTextWidth().

Referenced by QWhatsThat::QWhatsThat().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ allFormats()

QList< QTextFormat > QTextDocument::allFormats ( ) const

Returns a list of text formats for all the formats used in the document.

Since
5.14 Returns a string containing a Markdown representation of the document with the given features, or an empty string if writing fails for any reason.
See also
setMarkdown
Since
5.14 Replaces the entire contents of the document with the given Markdown-formatted text in the markdown string, with the given features supported. By default, all supported GitHub-style Markdown features are included; pass MarkdownDialectCommonMark for a more basic parse.

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 \l setHtml; however, Markdown formatting inside HTML blocks is not supported.

Some features of the parser can be enabled or disabled via the features argument:

\value MarkdownNoHTML Any HTML tags in the Markdown text will be discarded \value MarkdownDialectCommonMark The parser supports only the features standardized by CommonMark \value MarkdownDialectGitHub The parser supports the GitHub dialect

The default is MarkdownDialectGitHub.

The undo/redo history is reset when this function is called.

Definition at line 3673 of file qtextdocument.cpp.

References d.

Referenced by QTextOdfWriter::writeAll(), and QTextOdfWriter::writeFormats().

+ Here is the caller graph for this function:

◆ appendUndoItem

void QTextDocument::appendUndoItem ( QAbstractUndoItem * item)
slot

Appends a custom undo item to the undo stack.

Definition at line 463 of file qtextdocument.cpp.

References d, and item.

◆ availableRedoSteps()

int QTextDocument::availableRedoSteps ( ) const
Since
4.6

Returns the number of available redo steps.

See also
isRedoAvailable()

Definition at line 1097 of file qtextdocument.cpp.

References d.

◆ availableUndoSteps()

int QTextDocument::availableUndoSteps ( ) const
Since
4.6

Returns the number of available undo steps.

See also
isUndoAvailable()

Definition at line 1085 of file qtextdocument.cpp.

References d.

◆ baselineOffset()

qreal QTextDocument::baselineOffset ( ) const
Since
6.0

Returns the baseline offset in % used in the document layout.

See also
setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline()

Definition at line 1878 of file qtextdocument.cpp.

References d.

◆ baseUrl()

QUrl QTextDocument::baseUrl ( ) const

Definition at line 565 of file qtextdocument.cpp.

References d.

◆ baseUrlChanged

void QTextDocument::baseUrlChanged ( const QUrl & url)
signal

Referenced by setBaseUrl().

+ Here is the caller graph for this function:

◆ begin()

QTextBlock QTextDocument::begin ( ) const

Returns the document's first text block.

See also
firstBlock()

Definition at line 1695 of file qtextdocument.cpp.

References QFragmentMap< Fragment >::begin(), QTextDocumentPrivate::blockMap(), and d.

Referenced by XmlWriter::toXml(), and textdocumentendsnippet::wrapper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blockCount()

int QTextDocument::blockCount ( ) const

Definition at line 891 of file qtextdocument.cpp.

References d.

◆ blockCountChanged

void QTextDocument::blockCountChanged ( int newBlockCount)
signal
Since
4.3

This signal is emitted when the total number of text blocks in the document changes. The value passed in newBlockCount is the new total.

Referenced by QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ characterAt()

QChar QTextDocument::characterAt ( int pos) const
Since
4.5

Returns the character at position pos, or a null character if the position is out of range.

See also
characterCount()

Definition at line 936 of file qtextdocument.cpp.

References d, pos, and qMax().

+ Here is the call graph for this function:

◆ characterCount()

int QTextDocument::characterCount ( ) const
Since
4.5

Returns the number of characters of this document.

Note
As a QTextDocument always contains at least one QChar::ParagraphSeparator, this method will return at least 1.
See also
blockCount(), characterAt()

Definition at line 922 of file qtextdocument.cpp.

References d.

Referenced by QWidgetTextControlPrivate::_q_contentsChanged(), and QSGInternalTextNode::doAddTextDocument().

+ Here is the caller graph for this function:

◆ clear()

void QTextDocument::clear ( )
virtual

Clears the document.

Definition at line 368 of file qtextdocument.cpp.

References d.

Referenced by QTextMarkdownImporter::import(), QQuickTextControlPrivate::setContent(), QWidgetTextControlPrivate::setContent(), and QDeclarativeGeoMapCopyrightNotice::setMapSource().

+ Here is the caller graph for this function:

◆ clearUndoRedoStacks()

void QTextDocument::clearUndoRedoStacks ( Stacks stacksToClear = UndoAndRedoStacks)
Since
4.7 Clears the stacks specified by stacksToClear.

This method clears any commands on the undo stack, the redo stack, or both (the default). If commands are cleared, the appropriate signals are emitted, QTextDocument::undoAvailable() or QTextDocument::redoAvailable().

See also
QTextDocument::undoAvailable(), QTextDocument::redoAvailable()

Definition at line 432 of file qtextdocument.cpp.

References d.

◆ clone()

QTextDocument * QTextDocument::clone ( QObject * parent = nullptr) const

Creates a new QTextDocument that is a copy of this text document.

parent is the parent of the returned text document.

Definition at line 318 of file qtextdocument.cpp.

References QTextDocument(), d, QTextCursor::insertFragment(), isEmpty(), QObject::parent(), priv(), rootFrame(), QTextCursor::setBlockCharFormat(), QTextCursor::setBlockFormat(), and QTextFrame::setFrameFormat().

Referenced by print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ contentsChange

void QTextDocument::contentsChange ( int position,
int charsRemoved,
int charsAdded )
signal

This signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied.

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.

See also
QAbstractTextDocumentLayout::documentChanged(), contentsChanged()

Referenced by QQuickTextControl::QQuickTextControl(), QQuickTextEditPrivate::init(), and QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ contentsChanged

void QTextDocument::contentsChanged ( )
signal

This signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied.

See also
contentsChange()

Referenced by QTextBrowserPrivate::init(), and QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ createObject()

QTextObject * QTextDocument::createObject ( const QTextFormat & format)
protectedvirtual

Creates and returns a new document object (a QTextObject), based on the given format.

QTextObjects will always get created through this method, so you must reimplement it if you use custom text objects inside your document.

Definition at line 1605 of file qtextdocument.cpp.

Referenced by QTextDocumentPrivate::createObject().

+ Here is the caller graph for this function:

◆ cursorPositionChanged

void QTextDocument::cursorPositionChanged ( const QTextCursor & cursor)
signal

This signal is emitted whenever the position of a cursor changed due to an editing operation.

The cursor that changed is passed in cursor. If the document is used with the QTextEdit class and you need a signal when the cursor is moved with the arrow keys you can use the \l{QTextEdit::}{cursorPositionChanged()} signal in QTextEdit.

Referenced by QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ defaultCursorMoveStyle()

Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle ( ) const
Since
4.8

The default cursor movement style is used by all QTextCursor objects created from the document. The default is Qt::LogicalMoveStyle.

Definition at line 588 of file qtextdocument.cpp.

References d.

◆ defaultFont()

QFont QTextDocument::defaultFont ( ) const

Returns the default font to be used in the document layout.

Definition at line 1789 of file qtextdocument.cpp.

References d.

◆ defaultResourceProvider()

QTextDocument::ResourceProvider QTextDocument::defaultResourceProvider ( )
static
Since
6.1

Returns the default resource provider.

See also
resourceProvider(), loadResource()

Definition at line 2248 of file qtextdocument.cpp.

Referenced by resource().

+ Here is the caller graph for this function:

◆ defaultStyleSheet()

QString QTextDocument::defaultStyleSheet ( ) const

Definition at line 974 of file qtextdocument.cpp.

References d.

◆ defaultTextOption()

QTextOption QTextDocument::defaultTextOption ( ) const

the default text option will be set on all \l{QTextLayout}s in the document.

When \l{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.

Since
4.3

The default text option is used on all QTextLayout objects in the document. This allows setting global properties for the document such as the default word wrap mode.

Definition at line 530 of file qtextdocument.cpp.

References d.

Referenced by QLabelPrivate::ensureTextLayouted(), QLabelPrivate::textDirection(), QPlainTextEditPrivate::updateDefaultTextOption(), QTextEditPrivate::updateDefaultTextOption(), and QQuickTextEditPrivate::updateDefaultTextOption().

+ Here is the caller graph for this function:

◆ documentLayout()

◆ documentLayoutChanged

void QTextDocument::documentLayoutChanged ( )
signal
Since
4.4

This signal is emitted when a new document layout is set.

See also
setDocumentLayout()

Referenced by QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ documentMargin()

qreal QTextDocument::documentMargin ( ) const

Definition at line 767 of file qtextdocument.cpp.

References d.

◆ drawContents()

void QTextDocument::drawContents ( QPainter * p,
const QRectF & rect = QRectF() )
Since
4.2

Draws the content of the document with painter p, clipped to rect. If rect is a null rectangle (default) then the document is painted unclipped.

Definition at line 696 of file qtextdocument.cpp.

References documentLayout(), QAbstractTextDocumentLayout::draw(), and rect.

Referenced by QSplashScreen::drawContents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ end()

QTextBlock QTextDocument::end ( ) const

This function returns a block to test for the end of the document while iterating over it.

for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
std::cout << it.text().toStdString() << "\n";

The block returned is invalid and represents the block after the last block in the document. You can use lastBlock() to retrieve the last valid block of the document.

See also
lastBlock()

Definition at line 1713 of file qtextdocument.cpp.

References d.

Referenced by textdocumentendsnippet::wrapper().

+ Here is the caller graph for this function:

◆ find() [1/2]

QTextCursor QTextDocument::find ( const QString & subString,
const QTextCursor & cursor,
FindFlags options = FindFlags() ) const

Finds the next occurrence of the string, subString, in the document.

The search starts at the position of the given cursor, and proceeds forwards through the document unless specified otherwise in the search options. The options control the type of search performed.

Returns a cursor with the match selected if subString was found; otherwise returns a null cursor.

If the given cursor has a selection, the search begins after the selection; otherwise it begins at the cursor's position.

By default the search is case insensitive, and can match text anywhere in the document.

Definition at line 1451 of file qtextdocument.cpp.

References cursor, find(), FindBackward, and pos.

+ Here is the call graph for this function:

◆ find() [2/2]

QTextCursor QTextDocument::find ( const QString & subString,
int position = 0,
FindFlags options = FindFlags() ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Finds the next occurrence of the string, subString, in the document.

The search starts at the given position, and proceeds forwards through the document unless specified otherwise in the search options. The options control the type of search performed.

Returns a cursor with the match selected if subString was found; otherwise returns a null cursor.

If the position is 0 (the default) the search begins from the beginning of the document; otherwise it begins at the specified position.

Definition at line 1395 of file qtextdocument.cpp.

References cursor, d, FindBackward, findInBlock(), QTextBlock::isValid(), QTextBlock::length(), QTextBlock::next(), pos, QTextBlock::position(), and QTextBlock::previous().

Referenced by QLabelPrivate::ensureTextPopulated(), and find().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findBlock()

QTextBlock QTextDocument::findBlock ( int pos) const

Returns the text block that contains the {pos}-th character.

Definition at line 1660 of file qtextdocument.cpp.

References QTextDocumentPrivate::blockMap(), d, QFragmentMap< Fragment >::findNode(), and pos.

Referenced by QTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::documentChanged(), QPlainTextEditPrivate::ensureVisible(), QTextDocumentLayout::positionInlineObject(), QWidgetTextControlPrivate::rectForPosition(), QQuickTextControlPrivate::rectForPosition(), and QSyntaxHighlighterPrivate::reformatBlocks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findBlockByLineNumber()

QTextBlock QTextDocument::findBlockByLineNumber ( int lineNumber) const
Since
4.5 Returns the text block that contains the specified lineNumber.
See also
QTextBlock::firstLineNumber()

Definition at line 1684 of file qtextdocument.cpp.

References QTextDocumentPrivate::blockMap(), d, and QFragmentMap< Fragment >::findNode().

Referenced by QPlainTextEditControl::blockBoundingRect(), QPlainTextEditPrivate::setTopBlock(), and QPlainTextEditPrivate::setTopLine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findBlockByNumber()

QTextBlock QTextDocument::findBlockByNumber ( int blockNumber) const
Since
4.4 Returns the text block with the specified blockNumber.
See also
QTextBlock::blockNumber()

Definition at line 1672 of file qtextdocument.cpp.

References QTextDocumentPrivate::blockMap(), d, and QFragmentMap< Fragment >::findNode().

Referenced by QPlainTextEditControl::blockBoundingRect(), QPlainTextEditControl::firstVisibleBlock(), QPlainTextEditControl::hitTest(), QPlainTextEditPrivate::setTopBlock(), and QPlainTextEditPrivate::verticalOffset().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ firstBlock()

QTextBlock QTextDocument::firstBlock ( ) const
Since
4.4 Returns the document's first text block.

Definition at line 1723 of file qtextdocument.cpp.

References QFragmentMap< Fragment >::begin(), QTextDocumentPrivate::blockMap(), and d.

Referenced by QAbstractTextDocumentLayout::blockWithMarkerAt(), QPlainTextDocumentLayout::documentChanged(), QAbstractTextDocumentLayout::formatAt(), print(), and QPlainTextDocumentLayoutPrivate::relayout().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ frameAt()

QTextFrame * QTextDocument::frameAt ( int pos) const

Returns the frame that contains the text cursor position pos.

Definition at line 1623 of file qtextdocument.cpp.

References d, and pos.

◆ idealWidth()

qreal QTextDocument::idealWidth ( ) const
Since
4.2

Returns the ideal width of the text document. The ideal width is the actually used width of the document without optional alignments taken into account. It is always <= size().width().

See also
adjustSize(), textWidth

Definition at line 754 of file qtextdocument.cpp.

References documentLayout(), and textWidth.

Referenced by adjustSize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ indentWidth()

qreal QTextDocument::indentWidth ( ) const

Definition at line 799 of file qtextdocument.cpp.

References d.

◆ isEmpty()

bool QTextDocument::isEmpty ( ) const

Returns true if the document is empty; otherwise returns false.

Definition at line 357 of file qtextdocument.cpp.

References d.

Referenced by QWidgetTextControlPrivate::append(), QTextHtmlParser::applyAttributes(), QTextMarkdownImporter::cbEnterBlock(), clone(), QTextEditPrivate::paint(), and QDeclarativeGeoMapCopyrightNotice::rasterizeHtmlAndUpdate().

+ Here is the caller graph for this function:

◆ isLayoutEnabled()

bool QTextDocument::isLayoutEnabled ( ) const

Definition at line 684 of file qtextdocument.cpp.

References d.

◆ isModified()

bool QTextDocument::isModified ( ) const

Definition at line 1907 of file qtextdocument.cpp.

References d.

◆ isRedoAvailable()

bool QTextDocument::isRedoAvailable ( ) const

Returns true if redo is available; otherwise returns false.

See also
isUndoAvailable(), availableRedoSteps()

Definition at line 1073 of file qtextdocument.cpp.

References d.

◆ isUndoAvailable()

bool QTextDocument::isUndoAvailable ( ) const

Returns true if undo is available; otherwise returns false.

See also
isRedoAvailable(), availableUndoSteps()

Definition at line 1062 of file qtextdocument.cpp.

References d.

◆ isUndoRedoEnabled()

bool QTextDocument::isUndoRedoEnabled ( ) const

Definition at line 482 of file qtextdocument.cpp.

References d.

Referenced by QQuickTextControlPrivate::setContent(), and QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ lastBlock()

QTextBlock QTextDocument::lastBlock ( ) const
Since
4.4 Returns the document's last (valid) text block.

Definition at line 1733 of file qtextdocument.cpp.

References QTextDocumentPrivate::blockMap(), d, and QFragmentMap< Fragment >::last().

+ Here is the call graph for this function:

◆ lineCount()

int QTextDocument::lineCount ( ) const
Since
4.5

Returns the number of lines of this document (if the layout supports this). Otherwise, this is identical to the number of blocks.

See also
blockCount(), characterCount()

Definition at line 906 of file qtextdocument.cpp.

References d.

◆ loadResource()

QVariant QTextDocument::loadResource ( int type,
const QUrl & name )
protectedvirtual

Loads data of the specified type from the resource with the given name.

This function is called by the rich text engine to request data that isn't directly stored by QTextDocument, but still associated with it. For example, images are referenced indirectly by the name attribute of a QTextImageFormat object.

When called by Qt, type is one of the values of QTextDocument::ResourceType.

If the QTextDocument is a child object of a QObject that has an invokable loadResource method such as QTextEdit, QTextBrowser or a QTextDocument itself then the default implementation tries to retrieve the data from the parent.

See also
QTextDocument::ResourceProvider

Definition at line 2272 of file qtextdocument.cpp.

References Qt::CaseInsensitive, QThread::currentThread(), d, Qt::DirectConnection, QUrl::fromLocalFile(), ImageResource, QMetaObject::indexOfMethod(), QMetaMethod::invoke(), QFileInfo::isAbsolute(), QUrl::isEmpty(), QPixmap::isNull(), QUrl::isRelative(), QPixmap::loadFromData(), QMetaObject::method(), QObject::parent(), Q_ARG, Q_RETURN_ARG, qApp, qDecodeDataUrl(), QIODeviceBase::ReadOnly, QUrl::resolved(), QUrl::scheme(), QDir::separator(), QUrl::toLocalFile(), and QUrl::url().

Referenced by resource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ markContentsDirty()

void QTextDocument::markContentsDirty ( int from,
int length )

Marks the contents specified by the given position and length as "dirty", informing the document that it needs to be laid out again.

Definition at line 612 of file qtextdocument.cpp.

References d.

Referenced by QSyntaxHighlighterPrivate::applyFormatChanges().

+ Here is the caller graph for this function:

◆ maximumBlockCount()

int QTextDocument::maximumBlockCount ( ) const

Definition at line 509 of file qtextdocument.cpp.

References d.

◆ metaInformation()

QString QTextDocument::metaInformation ( MetaInformation info) const

Returns meta information about the document of the type specified by info.

See also
setMetaInformation()

Definition at line 1152 of file qtextdocument.cpp.

References CssMedia, d, DocumentTitle, DocumentUrl, FrontMatter, and info.

Referenced by QWidgetTextControl::print(), and QTextHtmlExporter::toHtml().

+ Here is the caller graph for this function:

◆ modificationChanged

void QTextDocument::modificationChanged ( bool changed)
signal

This signal is emitted whenever the content of the document changes in a way that affects the modification state.

If changed is true, the document has been modified; otherwise it is false.

For example, calling setModified(false) on a document and then inserting text causes the signal to get emitted. If you undo that operation, causing the document to return to its original unmodified state, the signal will get emitted again.

Referenced by QQuickTextDocument::QQuickTextDocument(), QWidgetTextControlPrivate::setContent(), and QQuickTextDocumentPrivate::setDocument().

+ Here is the caller graph for this function:

◆ object()

QTextObject * QTextDocument::object ( int objectIndex) const

Returns the text object associated with the given objectIndex.

Definition at line 1641 of file qtextdocument.cpp.

References d.

◆ objectForFormat()

QTextObject * QTextDocument::objectForFormat ( const QTextFormat & f) const

Returns the text object associated with the format f.

Definition at line 1650 of file qtextdocument.cpp.

References d.

Referenced by QQuickTextNodeEngine::addTextBlock(), QTextDocumentLayoutPrivate::blockIndent(), QTextDocumentLayoutPrivate::drawBlock(), QTextDocumentLayoutPrivate::drawListItem(), QTextBlock::textList(), and QTextOdfWriter::writeAll().

+ Here is the caller graph for this function:

◆ pageCount()

int QTextDocument::pageCount ( ) const

returns the number of pages in this document.

Definition at line 1770 of file qtextdocument.cpp.

References documentLayout(), and QAbstractTextDocumentLayout::pageCount().

Referenced by print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pageSize()

QSizeF QTextDocument::pageSize ( ) const

Definition at line 1761 of file qtextdocument.cpp.

References d.

◆ print()

void QTextDocument::print ( QPagedPaintDevice * printer) const

Prints the document to the given printer.

The QPagedPaintDevice must be set up before being used with this function.

This is only a convenience method to print the whole document to the printer.

If the document is already paginated through a specified height in the pageSize() property it is printed as-is.

If the document is not paginated, like for example a document used in a 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.

See also
QTextEdit::print()

Definition at line 1970 of file qtextdocument.cpp.

References QFontMetrics::ascent(), clone(), QPageRanges::contains(), d, defaultFont, documentLayout(), firstBlock(), QPageRanges::firstPage(), fmt, QTextFrame::frameFormat(), QPaintDevice::height(), QRectF::height(), QPageRanges::isEmpty(), QPageRanges::lastPage(), layout, QPaintDevice::logicalDpiX(), QPaintDevice::logicalDpiY(), QPageLayout::margins(), QPageLayout::Millimeter, QPagedPaintDevice::newPage(), page, pageCount(), QPagedPaintDevice::pageLayout(), QPagedPaintDevice::pageRanges(), QAbstractTextDocumentLayout::paintDevice(), printPage(), qMax(), qMin(), qt_defaultDpiX(), qt_defaultDpiY(), rootFrame(), QSizeF::rwidth(), QTextFrame::setFrameFormat(), QMarginsF::setLeft(), QTextFrameFormat::setLeftMargin(), QPagedPaintDevice::setPageMargins(), QRectF::size(), void, QPaintDevice::width(), and QRectF::width().

Referenced by QWidgetTextControl::print(), and MainWindow::printPdf().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redo [1/2]

void QTextDocument::redo ( )
slot

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Redoes the last editing operation on the document if \l{QTextDocument::isRedoAvailable()}{redo is available}.

Definition at line 452 of file qtextdocument.cpp.

References d.

◆ redo() [2/2]

void QTextDocument::redo ( QTextCursor * cursor)
Since
4.2 Redoes the last editing operation on the document if \l{QTextDocument::isRedoAvailable()}{redo is available}.

The provided cursor is positioned at the end of the location where the edition operation was redone.

Definition at line 404 of file qtextdocument.cpp.

References cursor, d, and pos.

◆ redoAvailable

void QTextDocument::redoAvailable ( bool available)
signal

This signal is emitted whenever redo operations become available (available is true) or unavailable (available is false).

Referenced by QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ resource()

QVariant QTextDocument::resource ( int type,
const QUrl & name ) const

Returns data of the specified type from the resource with the given name.

This function is called by the rich text engine to request data that isn't directly stored by QTextDocument, but still associated with it. For example, images are referenced indirectly by the name attribute of a QTextImageFormat object.

Resources are cached internally in the document. If a resource can not be found in the cache, loadResource is called to try to load the resource. loadResource should then use addResource to add the resource to the cache.

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

See also
QTextDocument::ResourceType, resourceProvider()

Definition at line 2148 of file qtextdocument.cpp.

References d, defaultResourceProvider(), loadResource(), QUrl::resolved(), url, and QVariant::value().

Referenced by addResource(), QTextHtmlParserNode::applyBackgroundImage(), getAs(), QQuickTextImageHandler::intrinsicSize(), and QTextOdfWriter::writeInlineCharacter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resourceProvider()

QTextDocument::ResourceProvider QTextDocument::resourceProvider ( ) const
Since
6.1

Returns the resource provider for this text document.

See also
setResourceProvider(), defaultResourceProvider(), loadResource()

Definition at line 2200 of file qtextdocument.cpp.

References d.

Referenced by QWidgetTextControl::print().

+ Here is the caller graph for this function:

◆ revision()

int QTextDocument::revision ( ) const
Since
4.4

Returns the document's revision (if undo is enabled).

The revision is guaranteed to increase when a document that is not modified is edited.

See also
QTextBlock::revision(), isModified()

Definition at line 1112 of file qtextdocument.cpp.

References d.

◆ rootFrame()

QTextFrame * QTextDocument::rootFrame ( ) const

Returns the document's root frame.

Definition at line 1632 of file qtextdocument.cpp.

References d.

Referenced by QGraphicsTextItemPrivate::_q_mouseOnEdge(), clone(), QSGInternalTextNode::doAddTextDocument(), QTextDocumentLayoutPrivate::drawBlock(), QLabelPrivate::ensureTextLayouted(), QTextDocumentLayoutPrivate::frameIteratorForYPosition(), QTextDocumentLayoutPrivate::layoutFlow(), print(), setDocumentMargin(), QTextHtmlExporter::toHtml(), and QTextOdfWriter::writeAll().

+ Here is the caller graph for this function:

◆ setBaselineOffset()

void QTextDocument::setBaselineOffset ( qreal baseline)
Since
6.0

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.

See also
baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline()

Definition at line 1863 of file qtextdocument.cpp.

References d.

◆ setBaseUrl()

void QTextDocument::setBaseUrl ( const QUrl & url)

Definition at line 571 of file qtextdocument.cpp.

References baseUrlChanged(), d, emit, and url.

Referenced by QQuickTextControlPrivate::setContent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDefaultCursorMoveStyle()

void QTextDocument::setDefaultCursorMoveStyle ( Qt::CursorMoveStyle style)
Since
4.8

Sets the default cursor movement style to the given style.

Definition at line 599 of file qtextdocument.cpp.

References d.

◆ setDefaultFont()

void QTextDocument::setDefaultFont ( const QFont & font)

Sets the default font to use in the document layout.

Definition at line 1778 of file qtextdocument.cpp.

References d, and font.

Referenced by QWhatsThat::QWhatsThat(), QLabelPrivate::ensureTextControl(), QQuickTextEditPrivate::init(), QTextEditPrivate::init(), QPlainTextEditPrivate::init(), and QGraphicsTextItem::setFont().

+ Here is the caller graph for this function:

◆ setDefaultResourceProvider()

void QTextDocument::setDefaultResourceProvider ( const ResourceProvider & provider)
static
Since
6.1

Sets the default resource provider to provider.

The default provider will be used by all QTextDocuments that don't have an explicit provider set.

See also
setResourceProvider(), loadResource()

Definition at line 2236 of file qtextdocument.cpp.

◆ setDefaultStyleSheet()

void QTextDocument::setDefaultStyleSheet ( const QString & sheet)

Definition at line 964 of file qtextdocument.cpp.

References d, QCss::Parser::parse(), and QCss::StyleSheetOrigin_UserAgent.

+ Here is the call graph for this function:

◆ setDefaultTextOption()

void QTextDocument::setDefaultTextOption ( const QTextOption & option)
Since
4.3

Sets the default text option to option.

Definition at line 541 of file qtextdocument.cpp.

References d.

Referenced by QLabelPrivate::ensureTextLayouted(), QPlainTextEditPrivate::updateDefaultTextOption(), QTextEditPrivate::updateDefaultTextOption(), and QQuickTextEditPrivate::updateDefaultTextOption().

+ Here is the caller graph for this function:

◆ setDocumentLayout()

void QTextDocument::setDocumentLayout ( QAbstractTextDocumentLayout * layout)

Sets the document to use the given layout.

The previous layout is deleted.

See also
documentLayoutChanged()

Definition at line 1126 of file qtextdocument.cpp.

References d, and layout.

Referenced by QPlainTextEditPrivate::init(), and QPlainTextEdit::setDocument().

+ Here is the caller graph for this function:

◆ setDocumentMargin()

void QTextDocument::setDocumentMargin ( qreal margin)

Definition at line 773 of file qtextdocument.cpp.

References d, QTextFrame::frameFormat(), rootFrame(), QTextFrame::setFrameFormat(), and QTextFrameFormat::setMargin().

Referenced by QQuickTextEditPrivate::init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHtml()

void QTextDocument::setHtml ( const QString & html)

Replaces the entire contents of the document with the given HTML-formatted text in the html string.

The undo/redo history is reset when this function is called.

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: "\b{bold} text".

To select a css media rule other than the default "screen" rule, use setMetaInformation() with 'CssMedia' as "info" parameter.

Note
It is the responsibility of the caller to make sure that the text is correctly decoded when a QString containing HTML is created and passed to setHtml().
See also
setPlainText(), {Supported HTML Subset}, setMetaInformation()

Definition at line 1297 of file qtextdocument.cpp.

References d, QTextHtmlImporter::import(), and QTextHtmlImporter::ImportToDocument.

Referenced by QWhatsThat::QWhatsThat(), QDeclarativeGeoMapCopyrightNotice::copyrightsChanged(), QSplashScreen::drawContents(), QLabelPrivate::ensureTextPopulated(), QDeclarativeGeoMapCopyrightNotice::onCopyrightsStyleSheetChanged(), QQuickTextControlPrivate::setContent(), QWidgetTextControlPrivate::setContent(), QDeclarativeGeoMapCopyrightNotice::setStyleSheet(), and toPlainText().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setIndentWidth()

void QTextDocument::setIndentWidth ( qreal width)
Since
4.4

Sets the width used for text list and text block indenting.

The indent properties of QTextListFormat and QTextBlockFormat specify multiples of this value. The default indent width is 40 .

See also
indentWidth()

Definition at line 816 of file qtextdocument.cpp.

References d.

◆ setLayoutEnabled()

void QTextDocument::setLayoutEnabled ( bool b)

Definition at line 674 of file qtextdocument.cpp.

References d.

◆ setMaximumBlockCount()

void QTextDocument::setMaximumBlockCount ( int maximum)

Definition at line 515 of file qtextdocument.cpp.

References d, and setUndoRedoEnabled().

+ Here is the call graph for this function:

◆ setMetaInformation()

void QTextDocument::setMetaInformation ( MetaInformation info,
const QString & string )

Sets the document's meta information of the type specified by info to the given string.

See also
metaInformation()

Definition at line 1174 of file qtextdocument.cpp.

References CssMedia, d, DocumentTitle, DocumentUrl, FrontMatter, and info.

Referenced by QTextHtmlImporter::import(), and QTextMarkdownImporter::import().

+ Here is the caller graph for this function:

◆ setModified

void QTextDocument::setModified ( bool m = true)
slot

Definition at line 1913 of file qtextdocument.cpp.

References d.

Referenced by QQuickTextControl::QQuickTextControl(), QQuickTextEditPrivate::init(), QQuickTextControlPrivate::setContent(), and QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ setPageSize()

void QTextDocument::setPageSize ( const QSizeF & size)

Definition at line 1753 of file qtextdocument.cpp.

References d, and size.

Referenced by QQuickTextControl::QQuickTextControl(), QTextEditPrivate::init(), QTextEditPrivate::relayoutDocument(), and setTextWidth().

+ Here is the caller graph for this function:

◆ setPlainText()

void QTextDocument::setPlainText ( const QString & text)

Replaces the entire contents of the document with the given plain text.

The undo/redo history is reset when this function is called.

See also
setHtml()

Definition at line 1264 of file qtextdocument.cpp.

References d, QTextCursor::insertText(), and text.

Referenced by QWhatsThat::QWhatsThat(), QDeclarativeGeoMapCopyrightNotice::copyrightsChanged(), QSplashScreen::drawContents(), QLabelPrivate::ensureTextPopulated(), QDeclarativeGeoMapCopyrightNotice::onCopyrightsStyleSheetChanged(), QQuickTextControlPrivate::setContent(), QWidgetTextControlPrivate::setContent(), and QDeclarativeGeoMapCopyrightNotice::setStyleSheet().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setResourceProvider()

void QTextDocument::setResourceProvider ( const ResourceProvider & provider)
Since
6.1 \typealias QTextDocument::ResourceProvider

Type alias for std::function<QVariant(const QUrl&)>.

Since
6.1

Sets the provider of resources for the text document to provider.

See also
resourceProvider(), loadResource()

Definition at line 2220 of file qtextdocument.cpp.

References d.

Referenced by QLabelPrivate::ensureTextControl().

+ Here is the caller graph for this function:

◆ setSubScriptBaseline()

void QTextDocument::setSubScriptBaseline ( qreal baseline)
Since
6.0

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

See also
subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), baselineOffset()

Definition at line 1833 of file qtextdocument.cpp.

References d.

◆ setSuperScriptBaseline()

void QTextDocument::setSuperScriptBaseline ( qreal baseline)
Since
6.0

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

See also
superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), baselineOffset()

Definition at line 1804 of file qtextdocument.cpp.

References d.

◆ setTextWidth()

void QTextDocument::setTextWidth ( qreal width)

Definition at line 729 of file qtextdocument.cpp.

References d, qCDebug, QSizeF::setHeight(), setPageSize(), and QSizeF::setWidth().

Referenced by adjustSize(), QSplashScreen::drawContents(), QLabelPrivate::ensureTextLayouted(), and QPlainTextEditPrivate::init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setUndoRedoEnabled()

void QTextDocument::setUndoRedoEnabled ( bool enable)

◆ setUseDesignMetrics()

void QTextDocument::setUseDesignMetrics ( bool b)

Definition at line 640 of file qtextdocument.cpp.

References d.

◆ size()

QSizeF QTextDocument::size ( ) const

Definition at line 875 of file qtextdocument.cpp.

References documentLayout(), and QAbstractTextDocumentLayout::documentSize().

+ Here is the call graph for this function:

◆ subScriptBaseline()

qreal QTextDocument::subScriptBaseline ( ) const
Since
6.0

Returns the superscript's base line as a % of font height used in the document layout.

See also
setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), baselineOffset()

Definition at line 1847 of file qtextdocument.cpp.

References d.

◆ superScriptBaseline()

qreal QTextDocument::superScriptBaseline ( ) const
Since
6.0

Returns the superscript's base line as a % of font height used in the document layout.

See also
setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), baselineOffset()

Definition at line 1818 of file qtextdocument.cpp.

References d.

◆ textWidth()

qreal QTextDocument::textWidth ( ) const

Definition at line 740 of file qtextdocument.cpp.

References d.

◆ toHtml()

QString QTextDocument::toHtml ( ) const

Returns a string containing an HTML representation of the document.

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.

See also
{Supported HTML Subset}

Definition at line 3608 of file qtextdocument.cpp.

References QTextHtmlExporter::toHtml().

Referenced by QWidgetTextControl::toHtml().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toPlainText()

QString QTextDocument::toPlainText ( ) const

Returns the plain text contained in the document.

If you want formatting information use a QTextCursor instead.

This function returns the same as 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() instead.

Note
Embedded objects, such as images, are represented by a Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER).
See also
toHtml()

Definition at line 1224 of file qtextdocument.cpp.

References d, pos, and txt.

Referenced by QTextDocumentFragment::toPlainText(), QWidgetTextControl::toPlainText(), QQuickTextControl::toPlainText(), and toPlainText().

+ Here is the caller graph for this function:

◆ toRawText()

QString QTextDocument::toRawText ( ) const

Returns the raw text contained in the document without any formatting information.

If you want formatting information use a QTextCursor instead.

Since
5.9
See also
toPlainText()

Definition at line 1201 of file qtextdocument.cpp.

References d.

Referenced by QTextDocumentFragment::toRawText().

+ Here is the caller graph for this function:

◆ undo [1/2]

void QTextDocument::undo ( )
slot

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 442 of file qtextdocument.cpp.

References d.

◆ undo() [2/2]

void QTextDocument::undo ( QTextCursor * cursor)
Since
4.2

Undoes the last editing operation on the document if undo is available. The provided cursor is positioned at the end of the location where the edition operation was undone.

See the \l {Overview of Qt's Undo Framework}{Qt Undo Framework} documentation for details.

See also
undoAvailable(), isUndoRedoEnabled()

Definition at line 387 of file qtextdocument.cpp.

References cursor, d, and pos.

Referenced by src_gui_text_qtextcursor::wrapper1(), and src_gui_text_qtextcursor::wrapper2().

+ Here is the caller graph for this function:

◆ undoAvailable

void QTextDocument::undoAvailable ( bool available)
signal

This signal is emitted whenever undo operations become available (available is true) or unavailable (available is false).

See the \l {Overview of Qt's Undo Framework}{Qt Undo Framework} documentation for details.

See also
undo(), isUndoRedoEnabled()

Referenced by QWidgetTextControlPrivate::setContent().

+ Here is the caller graph for this function:

◆ undoCommandAdded

QTextDocument::undoCommandAdded ( )
signal
Since
4.4

This signal is emitted every time a new level of undo is added to the QTextDocument.

Referenced by QTextDocumentPrivate::endEditBlock().

+ Here is the caller graph for this function:

◆ useDesignMetrics()

bool QTextDocument::useDesignMetrics ( ) const

Definition at line 650 of file qtextdocument.cpp.

References d.

Friends And Related Symbol Documentation

◆ QTextObjectPrivate

friend class QTextObjectPrivate
friend

Definition at line 302 of file qtextdocument.h.

Property Documentation

◆ baseUrl

QTextDocument::baseUrl
readwrite

the base URL used to resolve relative resource URLs within the document.

Since
5.3

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.

\table \header

Definition at line 79 of file qtextdocument.h.

Referenced by QTextMarkdownImporter::cbText(), and QQuickTextControlPrivate::setContent().

◆ blockCount

QTextDocument::blockCount
read

the number of text blocks in the document.

Since
4.2

The value of this property is undefined in documents with tables or frames.

By default, if defined, this property contains a value of 1.

See also
lineCount(), characterCount()

Definition at line 71 of file qtextdocument.h.

Referenced by QPlainTextEdit::blockCount(), and QPlainTextDocumentLayout::documentChanged().

◆ defaultFont

QTextDocument::defaultFont
readwrite

the default font used to display the document's text

Definition at line 66 of file qtextdocument.h.

Referenced by QTextHtmlExporter::QTextHtmlExporter(), adjustSize(), QGraphicsTextItem::font(), QTextMarkdownImporter::import(), print(), QWidgetTextControl::print(), and printPage().

◆ defaultStyleSheet

QTextDocument::defaultStyleSheet
readwrite
Since
4.2

The default style sheet is applied to all newly HTML formatted text that is inserted into the document, for example using setHtml() or QTextCursor::insertHtml().

The style sheet needs to be compliant to CSS 2.1 syntax.

{Note:} Changing the default style sheet does not have any effect to the existing content of the document.

See also
{Supported HTML Subset}

Definition at line 74 of file qtextdocument.h.

◆ documentMargin

QTextDocument::documentMargin
readwrite

◆ indentWidth

QTextDocument::indentWidth
readwrite
Since
4.4

Returns the width used for text list and text block indenting.

The indent properties of QTextListFormat and QTextBlockFormat specify multiples of this value. The default indent width is 40.

Definition at line 72 of file qtextdocument.h.

Referenced by QTextDocumentLayoutPrivate::blockIndent().

◆ layoutEnabled

QTextDocument::layoutEnabled
readwrite

whether QTextDocument should recalculate the layout after every change

Since
6.4

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.

By default, this property is true.

See also
setTextWidth

Definition at line 68 of file qtextdocument.h.

◆ maximumBlockCount

QTextDocument::maximumBlockCount
readwrite

Specifies the limit for blocks in the document.

Since
4.2

Specifies the maximum number of blocks the document may have. If there are more blocks in the document that specified with this property blocks are removed from the beginning of the document.

A negative or zero value specifies that the document may contain an unlimited amount of blocks.

The default value is 0.

Note that setting this property will apply the limit immediately to the document contents.

Setting this property also disables the undo redo history.

This property is undefined in documents with tables or frames.

Definition at line 76 of file qtextdocument.h.

◆ modified

QTextDocument::modified
readwrite

whether the document has been modified by the user

By default, this property is false.

See also
modificationChanged()

Definition at line 64 of file qtextdocument.h.

◆ pageSize

QTextDocument::pageSize
readwrite

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.

See also
modificationChanged()

Definition at line 65 of file qtextdocument.h.

Referenced by QGraphicsTextItemPrivate::controlOffset(), QTextDocumentLayoutPrivate::drawBlock(), QTextDocumentLayoutPrivate::drawFrame(), QTextDocumentLayoutPrivate::drawTableCell(), QTextDocumentLayoutPrivate::layoutBlock(), QTextDocumentLayoutPrivate::layoutCell(), QTextDocumentLayoutPrivate::layoutFlow(), QTextDocumentLayoutPrivate::layoutFrame(), QTextDocumentLayoutPrivate::layoutFrame(), QTextDocumentLayoutPrivate::layoutTable(), QWidgetTextControl::print(), QTextEdit::resizeEvent(), and QGraphicsTextItemPrivate::textControl().

◆ size

QTextDocument::size
read

the actual size of the document. This is equivalent to documentLayout()->documentSize();

Since
4.2

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.

See also
setTextWidth(), setPageSize(), idealWidth()

Definition at line 69 of file qtextdocument.h.

Referenced by QWhatsThat::QWhatsThat(), QSplashScreen::drawContents(), QDeclarativeGeoMapCopyrightNotice::rasterizeHtmlAndUpdate(), and setPageSize().

◆ textWidth

QTextDocument::textWidth
readwrite
Since
4.2

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() and the 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.

The default value is -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 property instead.

See also
size(), idealWidth(), pageSize()

Definition at line 70 of file qtextdocument.h.

Referenced by idealWidth().

◆ undoRedoEnabled

QTextDocument::undoRedoEnabled
readwrite

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.

Definition at line 63 of file qtextdocument.h.

◆ useDesignMetrics

QTextDocument::useDesignMetrics
readwrite

whether the document uses design metrics of fonts to improve the accuracy of text layout

Since
4.1

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.

By default, this property is false.

Definition at line 67 of file qtextdocument.h.

Referenced by QWidgetTextControl::print().


The documentation for this class was generated from the following files: