QTextObjectInterface 类允许绘制自定义文本对象在 QTextDocument 。 更多...
| 头: | #include <QTextObjectInterface> | 
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) | 
| qmake: | QT += gui | 
| virtual | ~QTextObjectInterface () | 
| virtual void | drawObject (QPainter * painter , const QRectF & rect , QTextDocument * doc , int posInDocument , const QTextFormat & format ) = 0 | 
| virtual QSizeF | intrinsicSize (QTextDocument * doc , int posInDocument , const QTextFormat & format ) = 0 | 
A text object describes the structure of one or more elements in a text document; for instance, images imported from HTML are implemented using text objects. A text object knows how to lay out and draw its elements when a document is being rendered.
Qt allows custom text objects to be inserted into a document by registering a custom 对象类型 with QTextCharFormat . A QTextObjectInterface must also be implemented for this type and be registered 采用 QAbstractTextDocumentLayout of the document. When the object type is encountered while rendering a QTextDocument , intrinsicSize () 和 drawObject () functions of the interface are called.
The following list explains the required steps of inserting a custom text object into a document:
A class implementing a text object needs to inherit both QObject and QTextObjectInterface. QObject must be the first class inherited. For instance:
class SvgTextObject : public QObject, public QTextObjectInterface { Q_OBJECT Q_INTERFACES(QTextObjectInterface)
The data of a text object is usually stored in the QTextCharFormat 使用 QTextCharFormat::setProperty (), and then retrieved with QTextCharFormat::property ().
警告: 拷贝和粘贴操作忽略自定义文本对象。
另请参阅 文本对象范例 , QTextCharFormat ,和 QTextLayout .
[虚拟]
						
						QTextObjectInterface::
						
							~QTextObjectInterface
						
						()
						
					销毁此 QTextObjectInterface .
[pure virtual]
						
						
							void
						
						QTextObjectInterface::
						
							drawObject
						
						(
						
							
								QPainter
							
						
						*
						
							painter
						
						, const
						
							
								QRectF
							
						
						&
						
							rect
						
						,
						
							
								QTextDocument
							
						
						*
						
							doc
						
						,
						
							int
						
						
							posInDocument
						
						, const
						
							
								QTextFormat
							
						
						&
						
							format
						
						)
						
					绘制此文本对象使用指定 painter .
The size of the rectangle, rect , to draw in is the size previously calculated by intrinsicSize (). The rectangles position is relative to the painter .
You also get the document ( doc ) and the position ( posInDocument ) of the format in that document.
另请参阅 intrinsicSize ().
[pure virtual]
						
						
							
								QSizeF
							
						
						QTextObjectInterface::
						
							intrinsicSize
						
						(
						
							
								QTextDocument
							
						
						*
						
							doc
						
						,
						
							int
						
						
							posInDocument
						
						, const
						
							
								QTextFormat
							
						
						&
						
							format
						
						)
						
					The intrinsicSize() function returns the size of the text object represented by format in the given document ( doc ) at the given position ( posInDocument ).
The size calculated will be used for subsequent calls to drawObject () for this format .
另请参阅 drawObject ().