QTextFrame Class

The QTextFrame class represents a frame in a QTextDocument. More...

Header: #include <QTextFrame>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QTextObject
Inherited By:

QTextTable

Note: All functions in this class are reentrant.

Public Types

Public Functions

QTextFrame(QTextDocument *document)
virtual ~QTextFrame()
QTextFrame::iterator begin() const
QList<QTextFrame *> childFrames() const
QTextFrame::iterator end() const
QTextCursor firstCursorPosition() const
int firstPosition() const
QTextFrameFormat frameFormat() const
QTextCursor lastCursorPosition() const
int lastPosition() const
QTextFrame *parentFrame() const
void setFrameFormat(const QTextFrameFormat &format)

Detailed Description

Text frames provide structure for the text in a document. They are used as generic containers for other document elements. Frames are usually created by using QTextCursor::insertFrame().

Frames can be used to create hierarchical structures in rich text documents. Each document has a root frame (QTextDocument::rootFrame()), and each frame beneath the root frame has a parent frame and a (possibly empty) list of child frames. The parent frame can be found with parentFrame(), and the childFrames() function provides a list of child frames.

Each frame contains at least one text block to enable text cursors to insert new document elements within. As a result, the QTextFrame::iterator class is used to traverse both the blocks and child frames within a given frame. The first and last child elements in the frame can be found with begin() and end().

A frame also has a format (specified using QTextFrameFormat) which can be set with setFormat() and read with format().

Text cursors can be obtained that point to the first and last valid cursor positions within a frame; use the firstCursorPosition() and lastCursorPosition() functions for this. The frame's extent in the document can be found with firstPosition() and lastPosition().

You can iterate over a frame's contents using the QTextFrame::iterator class: this provides read-only access to its internal list of text blocks and child frames.

See also QTextCursor and QTextDocument.

Member Type Documentation

QTextFrame::Iterator

Qt-style synonym for QTextFrame::iterator.

Member Function Documentation

[explicit] QTextFrame::QTextFrame(QTextDocument *document)

Creates a new empty frame for the text document.

[virtual noexcept] QTextFrame::~QTextFrame()

Destroys the text frame.

Warning: Text frames are owned by the document, so you should never destroy them yourself. In order to remove a frame from its document, remove its contents using a QTextCursor.

QTextFrame::iterator QTextFrame::begin() const

Returns an iterator pointing to the first document element inside the frame. Please see the document STL-style-Iterators for more information.

See also end().

QList<QTextFrame *> QTextFrame::childFrames() const

Returns a (possibly empty) list of the frame's child frames.

See also parentFrame().

QTextFrame::iterator QTextFrame::end() const

Returns an iterator pointing to the position past the last document element inside the frame. Please see the document STL-Style Iterators for more information.

See also begin().

QTextCursor QTextFrame::firstCursorPosition() const

Returns the first cursor position inside the frame.

See also lastCursorPosition(), firstPosition(), and lastPosition().

int QTextFrame::firstPosition() const

Returns the first document position inside the frame.

See also lastPosition(), firstCursorPosition(), and lastCursorPosition().

QTextFrameFormat QTextFrame::frameFormat() const

Returns the frame's format.

See also setFrameFormat().

QTextCursor QTextFrame::lastCursorPosition() const

Returns the last cursor position inside the frame.

See also firstCursorPosition(), firstPosition(), and lastPosition().

int QTextFrame::lastPosition() const

Returns the last document position inside the frame.

See also firstPosition(), firstCursorPosition(), and lastCursorPosition().

QTextFrame *QTextFrame::parentFrame() const

Returns the frame's parent frame. If the frame is the root frame of a document, this will return 0.

See also childFrames() and QTextDocument::rootFrame().

void QTextFrame::setFrameFormat(const QTextFrameFormat &format)

Sets the frame's format.

See also frameFormat().