28class Q_QUICK_EXPORT
QQuickText :
public QQuickImplicitSizeItem,
public QQuickTextInterface
31 Q_INTERFACES(QQuickTextInterface)
33 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
34 Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged)
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(
int renderTypeQuality READ renderTypeQuality WRITE setRenderTypeQuality NOTIFY renderTypeQualityChanged REVISION(6, 0))
63 Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged REVISION(2, 6))
64 Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged REVISION(2, 6))
65 Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged REVISION(2, 6))
66 Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged REVISION(2, 6))
67 Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged REVISION(2, 6))
69 Q_PROPERTY(QJSValue fontInfo READ fontInfo NOTIFY fontInfoChanged REVISION(2, 9))
70 Q_PROPERTY(QSizeF advance READ advance NOTIFY contentSizeChanged REVISION(2, 10))
71 QML_NAMED_ELEMENT(Text)
72 QML_ADDED_IN_VERSION(2, 0)
75 QQuickText(QQuickItem *parent=
nullptr);
76 ~QQuickText() override;
78 enum HAlignment { AlignLeft = Qt::AlignLeft,
79 AlignRight = Qt::AlignRight,
80 AlignHCenter = Qt::AlignHCenter,
81 AlignJustify = Qt::AlignJustify };
83 enum VAlignment { AlignTop = Qt::AlignTop,
84 AlignBottom = Qt::AlignBottom,
85 AlignVCenter = Qt::AlignVCenter };
87 enum TextStyle { Normal,
92 enum TextFormat { PlainText = Qt::PlainText,
93 RichText = Qt::RichText,
94 MarkdownText = Qt::MarkdownText,
95 AutoText = Qt::AutoText,
98 enum TextElideMode { ElideLeft = Qt::ElideLeft,
99 ElideRight = Qt::ElideRight,
100 ElideMiddle = Qt::ElideMiddle,
101 ElideNone = Qt::ElideNone };
102 Q_ENUM(TextElideMode)
104 enum WrapMode { NoWrap = QTextOption::NoWrap,
105 WordWrap = QTextOption::WordWrap,
106 WrapAnywhere = QTextOption::WrapAnywhere,
107 WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere,
108 Wrap = QTextOption::WrapAtWordBoundaryOrAnywhere
112 enum RenderType { QtRendering,
118 enum RenderTypeQuality { DefaultRenderTypeQuality = -1,
119 LowRenderTypeQuality = 26,
120 NormalRenderTypeQuality = 52,
121 HighRenderTypeQuality = 104,
122 VeryHighRenderTypeQuality = 208
124 Q_ENUM(RenderTypeQuality)
126 enum LineHeightMode { ProportionalHeight, FixedHeight };
127 Q_ENUM(LineHeightMode)
129 enum FontSizeMode { FixedSize = 0x0, HorizontalFit = 0x01, VerticalFit = 0x02,
130 Fit = HorizontalFit | VerticalFit };
133 QString text()
const;
134 void setText(
const QString &);
137 void setFont(
const QFont &font);
139 QColor color()
const;
140 void setColor(
const QColor &c);
142 QColor linkColor()
const;
143 void setLinkColor(
const QColor &color);
145 TextStyle style()
const;
146 void setStyle(TextStyle style);
148 QColor styleColor()
const;
149 void setStyleColor(
const QColor &c);
151 HAlignment hAlign()
const;
152 void setHAlign(HAlignment align);
154 HAlignment effectiveHAlign()
const;
156 VAlignment vAlign()
const;
157 void setVAlign(VAlignment align);
159 WrapMode wrapMode()
const;
160 void setWrapMode(WrapMode w);
162 int lineCount()
const;
163 bool truncated()
const;
165 int maximumLineCount()
const;
166 void setMaximumLineCount(
int lines);
167 void resetMaximumLineCount();
169 TextFormat textFormat()
const;
170 void setTextFormat(TextFormat format);
172 TextElideMode elideMode()
const;
173 void setElideMode(TextElideMode);
175 qreal lineHeight()
const;
176 void setLineHeight(qreal lineHeight);
178 LineHeightMode lineHeightMode()
const;
179 void setLineHeightMode(LineHeightMode);
182 QUrl baseUrl()
const;
183 void setBaseUrl(
const QUrl &url);
186 int minimumPixelSize()
const;
187 void setMinimumPixelSize(
int size);
189 int minimumPointSize()
const;
190 void setMinimumPointSize(
int size);
192 FontSizeMode fontSizeMode()
const;
193 void setFontSizeMode(FontSizeMode mode);
195 void componentComplete() override;
197 int resourcesLoading()
const;
199 qreal contentWidth()
const;
200 qreal contentHeight()
const;
202 QRectF boundingRect()
const override;
203 QRectF clipRect()
const override;
204#if QT_VERSION < QT_VERSION_CHECK(6
, 0
, 0
)
205#if QT_DEPRECATED_SINCE(5
, 15
)
206 QT_DEPRECATED_X(
"Use forceLayout() instead")
207 Q_INVOKABLE
void doLayout();
210 Q_REVISION(2, 9) Q_INVOKABLE
void forceLayout();
212 RenderType renderType()
const;
213 void setRenderType(RenderType renderType);
215 int renderTypeQuality()
const;
216 void setRenderTypeQuality(
int renderTypeQuality);
218 QString hoveredLink()
const;
220 Q_REVISION(2, 3) Q_INVOKABLE QString linkAt(qreal x, qreal y)
const;
222 qreal padding()
const;
223 void setPadding(qreal padding);
226 qreal topPadding()
const;
227 void setTopPadding(qreal padding);
228 void resetTopPadding();
230 qreal leftPadding()
const;
231 void setLeftPadding(qreal padding);
232 void resetLeftPadding();
234 qreal rightPadding()
const;
235 void setRightPadding(qreal padding);
236 void resetRightPadding();
238 qreal bottomPadding()
const;
239 void setBottomPadding(qreal padding);
240 void resetBottomPadding();
242 QJSValue fontInfo()
const;
243 QSizeF advance()
const;
245 void invalidate() override;
248 void textChanged(
const QString &text);
249 void linkActivated(
const QString &link);
250 Q_REVISION(2, 2)
void linkHovered(
const QString &link);
251 void fontChanged(
const QFont &font);
253 void linkColorChanged();
254 void styleChanged(QQuickText::TextStyle style);
255 void styleColorChanged();
256 void horizontalAlignmentChanged(QQuickText::HAlignment alignment);
257 void verticalAlignmentChanged(QQuickText::VAlignment alignment);
258 void wrapModeChanged();
259 void lineCountChanged();
260 void truncatedChanged();
261 void maximumLineCountChanged();
262 void textFormatChanged(QQuickText::TextFormat textFormat);
263 void elideModeChanged(QQuickText::TextElideMode mode);
264 void contentSizeChanged();
266 void contentWidthChanged(qreal contentWidth);
267 void contentHeightChanged(qreal contentHeight);
269 void lineHeightChanged(qreal lineHeight);
270 void lineHeightModeChanged(QQuickText::LineHeightMode mode);
271 void fontSizeModeChanged();
272 void minimumPixelSizeChanged();
273 void minimumPointSizeChanged();
274 void effectiveHorizontalAlignmentChanged();
275 void lineLaidOut(QQuickTextLine *line);
276 void baseUrlChanged();
277 void renderTypeChanged();
278 Q_REVISION(2, 6)
void paddingChanged();
279 Q_REVISION(2, 6)
void topPaddingChanged();
280 Q_REVISION(2, 6)
void leftPaddingChanged();
281 Q_REVISION(2, 6)
void rightPaddingChanged();
282 Q_REVISION(2, 6)
void bottomPaddingChanged();
283 Q_REVISION(2, 9)
void fontInfoChanged();
284 Q_REVISION(6, 0)
void renderTypeQualityChanged();
287 QQuickText(QQuickTextPrivate &dd, QQuickItem *parent =
nullptr);
289 void mousePressEvent(QMouseEvent *event) override;
290 void mouseReleaseEvent(QMouseEvent *event) override;
291 void itemChange(ItemChange change,
const ItemChangeData &value) override;
292 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
293 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
295 void updatePolish() override;
297 void hoverEnterEvent(QHoverEvent *event) override;
298 void hoverMoveEvent(QHoverEvent *event) override;
299 void hoverLeaveEvent(QHoverEvent *event) override;
300 void invalidateFontCaches();
303 void q_updateLayout();
304 void triggerPreprocess();
305 Q_REVISION(6, 7) QVariant loadResource(
int type,
const QUrl &source);
306 void resourceRequestFinished();
307 void imageDownloadFinished();
310 Q_DISABLE_COPY(QQuickText)
311 Q_DECLARE_PRIVATE(QQuickText)