28class Q_QUICK_EXPORT
QQuickText :
public QQuickImplicitSizeItem,
public QQuickTextInterface
31 Q_INTERFACES(QQuickTextInterface)
33 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged VIRTUAL)
34 Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged VIRTUAL)
35 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
36 Q_PROPERTY(QColor linkColor READ linkColor WRITE setLinkColor NOTIFY linkColorChanged)
37 Q_PROPERTY(TextStyle style READ style WRITE setStyle NOTIFY styleChanged)
38 Q_PROPERTY(QColor styleColor READ styleColor WRITE setStyleColor NOTIFY styleColorChanged)
39 Q_PROPERTY(HAlignment horizontalAlignment READ hAlign WRITE setHAlign RESET resetHAlign NOTIFY horizontalAlignmentChanged)
40 Q_PROPERTY(HAlignment effectiveHorizontalAlignment READ effectiveHAlign NOTIFY effectiveHorizontalAlignmentChanged)
41 Q_PROPERTY(VAlignment verticalAlignment READ vAlign WRITE setVAlign NOTIFY verticalAlignmentChanged)
42 Q_PROPERTY(WrapMode wrapMode READ wrapMode WRITE setWrapMode NOTIFY wrapModeChanged)
43 Q_PROPERTY(
int lineCount READ lineCount NOTIFY lineCountChanged)
44 Q_PROPERTY(
bool truncated READ truncated NOTIFY truncatedChanged)
45 Q_PROPERTY(
int maximumLineCount READ maximumLineCount WRITE setMaximumLineCount NOTIFY maximumLineCountChanged RESET resetMaximumLineCount)
47 Q_PROPERTY(TextFormat textFormat READ textFormat WRITE setTextFormat NOTIFY textFormatChanged)
48 Q_PROPERTY(TextElideMode elide READ elideMode WRITE setElideMode NOTIFY elideModeChanged)
49 Q_PROPERTY(qreal contentWidth READ contentWidth NOTIFY contentWidthChanged)
50 Q_PROPERTY(qreal contentHeight READ contentHeight NOTIFY contentHeightChanged)
51 Q_PROPERTY(qreal paintedWidth READ contentWidth NOTIFY contentWidthChanged)
52 Q_PROPERTY(qreal paintedHeight READ contentHeight NOTIFY contentHeightChanged)
53 Q_PROPERTY(qreal lineHeight READ lineHeight WRITE setLineHeight NOTIFY lineHeightChanged)
54 Q_PROPERTY(LineHeightMode lineHeightMode READ lineHeightMode WRITE setLineHeightMode NOTIFY lineHeightModeChanged)
55 Q_PROPERTY(QUrl baseUrl READ baseUrl WRITE setBaseUrl RESET resetBaseUrl NOTIFY baseUrlChanged)
56 Q_PROPERTY(
int minimumPixelSize READ minimumPixelSize WRITE setMinimumPixelSize NOTIFY minimumPixelSizeChanged)
57 Q_PROPERTY(
int minimumPointSize READ minimumPointSize WRITE setMinimumPointSize NOTIFY minimumPointSizeChanged)
58 Q_PROPERTY(FontSizeMode fontSizeMode READ fontSizeMode WRITE setFontSizeMode NOTIFY fontSizeModeChanged)
59 Q_PROPERTY(RenderType renderType READ renderType WRITE setRenderType NOTIFY renderTypeChanged)
60 Q_PROPERTY(QString hoveredLink READ hoveredLink NOTIFY linkHovered REVISION(2, 2))
61 Q_PROPERTY(QString hoveredToolTip READ hoveredToolTip NOTIFY hoveredToolTipChanged REVISION(6, 13))
62 Q_PROPERTY(
int renderTypeQuality READ renderTypeQuality WRITE setRenderTypeQuality NOTIFY renderTypeQualityChanged REVISION(6, 0))
64 Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged REVISION(2, 6))
65 Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged REVISION(2, 6))
66 Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged VIRTUAL REVISION(2, 6))
67 Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged REVISION(2, 6))
68 Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged REVISION(2, 6))
70 Q_PROPERTY(QJSValue fontInfo READ fontInfo NOTIFY fontInfoChanged REVISION(2, 9))
71 Q_PROPERTY(QSizeF advance READ advance NOTIFY contentSizeChanged REVISION(2, 10))
72 QML_NAMED_ELEMENT(Text)
73 QML_ADDED_IN_VERSION(2, 0)
76 QQuickText(QQuickItem *parent=
nullptr);
77 ~QQuickText() override;
79 enum HAlignment { AlignLeft = Qt::AlignLeft,
80 AlignRight = Qt::AlignRight,
81 AlignHCenter = Qt::AlignHCenter,
82 AlignJustify = Qt::AlignJustify };
84 enum VAlignment { AlignTop = Qt::AlignTop,
85 AlignBottom = Qt::AlignBottom,
86 AlignVCenter = Qt::AlignVCenter };
88 enum TextStyle { Normal,
93 enum TextFormat { PlainText = Qt::PlainText,
94 RichText = Qt::RichText,
95 MarkdownText = Qt::MarkdownText,
96 AutoText = Qt::AutoText,
99 enum TextElideMode { ElideLeft = Qt::ElideLeft,
100 ElideRight = Qt::ElideRight,
101 ElideMiddle = Qt::ElideMiddle,
102 ElideNone = Qt::ElideNone };
103 Q_ENUM(TextElideMode)
105 enum WrapMode { NoWrap = QTextOption::NoWrap,
106 WordWrap = QTextOption::WordWrap,
107 WrapAnywhere = QTextOption::WrapAnywhere,
108 WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere,
109 Wrap = QTextOption::WrapAtWordBoundaryOrAnywhere
113 enum RenderType { QtRendering,
119 enum RenderTypeQuality { DefaultRenderTypeQuality = -1,
120 LowRenderTypeQuality = 26,
121 NormalRenderTypeQuality = 52,
122 HighRenderTypeQuality = 104,
123 VeryHighRenderTypeQuality = 208
125 Q_ENUM(RenderTypeQuality)
127 enum LineHeightMode { ProportionalHeight, FixedHeight };
128 Q_ENUM(LineHeightMode)
130 enum FontSizeMode { FixedSize = 0x0, HorizontalFit = 0x01, VerticalFit = 0x02,
131 Fit = HorizontalFit | VerticalFit };
134 QString text()
const;
135 void setText(
const QString &);
138 void setFont(
const QFont &font);
140 QColor color()
const;
141 void setColor(
const QColor &c);
143 QColor linkColor()
const;
144 void setLinkColor(
const QColor &color);
146 TextStyle style()
const;
147 void setStyle(TextStyle style);
149 QColor styleColor()
const;
150 void setStyleColor(
const QColor &c);
152 HAlignment hAlign()
const;
153 void setHAlign(HAlignment align);
155 HAlignment effectiveHAlign()
const;
157 VAlignment vAlign()
const;
158 void setVAlign(VAlignment align);
160 WrapMode wrapMode()
const;
161 void setWrapMode(WrapMode w);
163 int lineCount()
const;
164 bool truncated()
const;
166 int maximumLineCount()
const;
167 void setMaximumLineCount(
int lines);
168 void resetMaximumLineCount();
170 TextFormat textFormat()
const;
171 void setTextFormat(TextFormat format);
173 TextElideMode elideMode()
const;
174 void setElideMode(TextElideMode);
176 qreal lineHeight()
const;
177 void setLineHeight(qreal lineHeight);
179 LineHeightMode lineHeightMode()
const;
180 void setLineHeightMode(LineHeightMode);
183 QUrl baseUrl()
const;
184 void setBaseUrl(
const QUrl &url);
187 int minimumPixelSize()
const;
188 void setMinimumPixelSize(
int size);
190 int minimumPointSize()
const;
191 void setMinimumPointSize(
int size);
193 FontSizeMode fontSizeMode()
const;
194 void setFontSizeMode(FontSizeMode mode);
196 void componentComplete() override;
198 int resourcesLoading()
const;
200 qreal contentWidth()
const;
201 qreal contentHeight()
const;
203 QRectF boundingRect()
const override;
204 QRectF clipRect()
const override;
205#if QT_VERSION < QT_VERSION_CHECK(6
, 0
, 0
)
206#if QT_DEPRECATED_SINCE(5
, 15
)
207 QT_DEPRECATED_X(
"Use forceLayout() instead")
208 Q_INVOKABLE
void doLayout();
211 Q_REVISION(2, 9) Q_INVOKABLE
void forceLayout();
213 RenderType renderType()
const;
214 void setRenderType(RenderType renderType);
216 int renderTypeQuality()
const;
217 void setRenderTypeQuality(
int renderTypeQuality);
219 QString hoveredLink()
const;
220 QString hoveredToolTip()
const;
222 Q_REVISION(2, 3) Q_INVOKABLE QString linkAt(qreal x, qreal y)
const;
224 qreal padding()
const;
225 void setPadding(qreal padding);
228 qreal topPadding()
const;
229 void setTopPadding(qreal padding);
230 void resetTopPadding();
232 qreal leftPadding()
const;
233 void setLeftPadding(qreal padding);
234 void resetLeftPadding();
236 qreal rightPadding()
const;
237 void setRightPadding(qreal padding);
238 void resetRightPadding();
240 qreal bottomPadding()
const;
241 void setBottomPadding(qreal padding);
242 void resetBottomPadding();
244 QJSValue fontInfo()
const;
245 QSizeF advance()
const;
247 void invalidate() override;
250 void textChanged(
const QString &text);
251 void linkActivated(
const QString &link);
252 Q_REVISION(2, 2)
void linkHovered(
const QString &link);
253 Q_REVISION(6, 13)
void hoveredToolTipChanged();
254 void fontChanged(
const QFont &font);
256 void linkColorChanged();
257 void styleChanged(QQuickText::TextStyle style);
258 void styleColorChanged();
259 void horizontalAlignmentChanged(QQuickText::HAlignment alignment);
260 void verticalAlignmentChanged(QQuickText::VAlignment alignment);
261 void wrapModeChanged();
262 void lineCountChanged();
263 void truncatedChanged();
264 void maximumLineCountChanged();
265 void textFormatChanged(QQuickText::TextFormat textFormat);
266 void elideModeChanged(QQuickText::TextElideMode mode);
267 void contentSizeChanged();
269 void contentWidthChanged(qreal contentWidth);
270 void contentHeightChanged(qreal contentHeight);
272 void lineHeightChanged(qreal lineHeight);
273 void lineHeightModeChanged(QQuickText::LineHeightMode mode);
274 void fontSizeModeChanged();
275 void minimumPixelSizeChanged();
276 void minimumPointSizeChanged();
277 void effectiveHorizontalAlignmentChanged();
278 void lineLaidOut(QQuickTextLine *line);
279 void baseUrlChanged();
280 void renderTypeChanged();
281 Q_REVISION(2, 6)
void paddingChanged();
282 Q_REVISION(2, 6)
void topPaddingChanged();
283 Q_REVISION(2, 6)
void leftPaddingChanged();
284 Q_REVISION(2, 6)
void rightPaddingChanged();
285 Q_REVISION(2, 6)
void bottomPaddingChanged();
286 Q_REVISION(2, 9)
void fontInfoChanged();
287 Q_REVISION(6, 0)
void renderTypeQualityChanged();
290 QQuickText(QQuickTextPrivate &dd, QQuickItem *parent =
nullptr);
292 void mousePressEvent(QMouseEvent *event) override;
293 void mouseReleaseEvent(QMouseEvent *event) override;
294 void itemChange(ItemChange change,
const ItemChangeData &value) override;
295 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
296 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
298 void updatePolish() override;
300 void hoverEnterEvent(QHoverEvent *event) override;
301 void hoverMoveEvent(QHoverEvent *event) override;
302 void hoverLeaveEvent(QHoverEvent *event) override;
303 void invalidateFontCaches();
306 void q_updateLayout();
307 void triggerPreprocess();
308 Q_REVISION(6, 7) QVariant loadResource(
int type,
const QUrl &source);
309 void resourceRequestFinished();
310 void imageDownloadFinished();
313 Q_DISABLE_COPY(QQuickText)
314 Q_DECLARE_PRIVATE(QQuickText)