27class Q_QUICK_EXPORT
QQuickText :
public QQuickImplicitSizeItem,
public QQuickTextInterface
30 Q_INTERFACES(QQuickTextInterface)
32 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
33 Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged)
34 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
35 Q_PROPERTY(QColor linkColor READ linkColor WRITE setLinkColor NOTIFY linkColorChanged)
36 Q_PROPERTY(TextStyle style READ style WRITE setStyle NOTIFY styleChanged)
37 Q_PROPERTY(QColor styleColor READ styleColor WRITE setStyleColor NOTIFY styleColorChanged)
38 Q_PROPERTY(HAlignment horizontalAlignment READ hAlign WRITE setHAlign RESET resetHAlign NOTIFY horizontalAlignmentChanged)
39 Q_PROPERTY(HAlignment effectiveHorizontalAlignment READ effectiveHAlign NOTIFY effectiveHorizontalAlignmentChanged)
40 Q_PROPERTY(VAlignment verticalAlignment READ vAlign WRITE setVAlign NOTIFY verticalAlignmentChanged)
41 Q_PROPERTY(WrapMode wrapMode READ wrapMode WRITE setWrapMode NOTIFY wrapModeChanged)
42 Q_PROPERTY(
int lineCount READ lineCount NOTIFY lineCountChanged)
43 Q_PROPERTY(
bool truncated READ truncated NOTIFY truncatedChanged)
44 Q_PROPERTY(
int maximumLineCount READ maximumLineCount WRITE setMaximumLineCount NOTIFY maximumLineCountChanged RESET resetMaximumLineCount)
46 Q_PROPERTY(TextFormat textFormat READ textFormat WRITE setTextFormat NOTIFY textFormatChanged)
47 Q_PROPERTY(TextElideMode elide READ elideMode WRITE setElideMode NOTIFY elideModeChanged)
48 Q_PROPERTY(qreal contentWidth READ contentWidth NOTIFY contentWidthChanged)
49 Q_PROPERTY(qreal contentHeight READ contentHeight NOTIFY contentHeightChanged)
50 Q_PROPERTY(qreal paintedWidth READ contentWidth NOTIFY contentWidthChanged)
51 Q_PROPERTY(qreal paintedHeight READ contentHeight NOTIFY contentHeightChanged)
52 Q_PROPERTY(qreal lineHeight READ lineHeight WRITE setLineHeight NOTIFY lineHeightChanged)
53 Q_PROPERTY(LineHeightMode lineHeightMode READ lineHeightMode WRITE setLineHeightMode NOTIFY lineHeightModeChanged)
54 Q_PROPERTY(QUrl baseUrl READ baseUrl WRITE setBaseUrl RESET resetBaseUrl NOTIFY baseUrlChanged)
55 Q_PROPERTY(
int minimumPixelSize READ minimumPixelSize WRITE setMinimumPixelSize NOTIFY minimumPixelSizeChanged)
56 Q_PROPERTY(
int minimumPointSize READ minimumPointSize WRITE setMinimumPointSize NOTIFY minimumPointSizeChanged)
57 Q_PROPERTY(FontSizeMode fontSizeMode READ fontSizeMode WRITE setFontSizeMode NOTIFY fontSizeModeChanged)
58 Q_PROPERTY(RenderType renderType READ renderType WRITE setRenderType NOTIFY renderTypeChanged)
59 Q_PROPERTY(QString hoveredLink READ hoveredLink NOTIFY linkHovered REVISION(2, 2))
60 Q_PROPERTY(
int renderTypeQuality READ renderTypeQuality WRITE setRenderTypeQuality NOTIFY renderTypeQualityChanged REVISION(6, 0))
62 Q_PROPERTY(qreal padding READ padding WRITE setPadding RESET resetPadding NOTIFY paddingChanged REVISION(2, 6))
63 Q_PROPERTY(qreal topPadding READ topPadding WRITE setTopPadding RESET resetTopPadding NOTIFY topPaddingChanged REVISION(2, 6))
64 Q_PROPERTY(qreal leftPadding READ leftPadding WRITE setLeftPadding RESET resetLeftPadding NOTIFY leftPaddingChanged REVISION(2, 6))
65 Q_PROPERTY(qreal rightPadding READ rightPadding WRITE setRightPadding RESET resetRightPadding NOTIFY rightPaddingChanged REVISION(2, 6))
66 Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged REVISION(2, 6))
68 Q_PROPERTY(QJSValue fontInfo READ fontInfo NOTIFY fontInfoChanged REVISION(2, 9))
69 Q_PROPERTY(QSizeF advance READ advance NOTIFY contentSizeChanged REVISION(2, 10))
70 QML_NAMED_ELEMENT(Text)
71 QML_ADDED_IN_VERSION(2, 0)
74 QQuickText(QQuickItem *parent=
nullptr);
75 ~QQuickText() override;
77 enum HAlignment { AlignLeft = Qt::AlignLeft,
78 AlignRight = Qt::AlignRight,
79 AlignHCenter = Qt::AlignHCenter,
80 AlignJustify = Qt::AlignJustify };
82 enum VAlignment { AlignTop = Qt::AlignTop,
83 AlignBottom = Qt::AlignBottom,
84 AlignVCenter = Qt::AlignVCenter };
86 enum TextStyle { Normal,
91 enum TextFormat { PlainText = Qt::PlainText,
92 RichText = Qt::RichText,
93 MarkdownText = Qt::MarkdownText,
94 AutoText = Qt::AutoText,
97 enum TextElideMode { ElideLeft = Qt::ElideLeft,
98 ElideRight = Qt::ElideRight,
99 ElideMiddle = Qt::ElideMiddle,
100 ElideNone = Qt::ElideNone };
101 Q_ENUM(TextElideMode)
103 enum WrapMode { NoWrap = QTextOption::NoWrap,
104 WordWrap = QTextOption::WordWrap,
105 WrapAnywhere = QTextOption::WrapAnywhere,
106 WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere,
107 Wrap = QTextOption::WrapAtWordBoundaryOrAnywhere
111 enum RenderType { QtRendering,
117 enum RenderTypeQuality { DefaultRenderTypeQuality = -1,
118 LowRenderTypeQuality = 26,
119 NormalRenderTypeQuality = 52,
120 HighRenderTypeQuality = 104,
121 VeryHighRenderTypeQuality = 208
123 Q_ENUM(RenderTypeQuality)
125 enum LineHeightMode { ProportionalHeight, FixedHeight };
126 Q_ENUM(LineHeightMode)
128 enum FontSizeMode { FixedSize = 0x0, HorizontalFit = 0x01, VerticalFit = 0x02,
129 Fit = HorizontalFit | VerticalFit };
132 QString text()
const;
133 void setText(
const QString &);
136 void setFont(
const QFont &font);
138 QColor color()
const;
139 void setColor(
const QColor &c);
141 QColor linkColor()
const;
142 void setLinkColor(
const QColor &color);
144 TextStyle style()
const;
145 void setStyle(TextStyle style);
147 QColor styleColor()
const;
148 void setStyleColor(
const QColor &c);
150 HAlignment hAlign()
const;
151 void setHAlign(HAlignment align);
153 HAlignment effectiveHAlign()
const;
155 VAlignment vAlign()
const;
156 void setVAlign(VAlignment align);
158 WrapMode wrapMode()
const;
159 void setWrapMode(WrapMode w);
161 int lineCount()
const;
162 bool truncated()
const;
164 int maximumLineCount()
const;
165 void setMaximumLineCount(
int lines);
166 void resetMaximumLineCount();
168 TextFormat textFormat()
const;
169 void setTextFormat(TextFormat format);
171 TextElideMode elideMode()
const;
172 void setElideMode(TextElideMode);
174 qreal lineHeight()
const;
175 void setLineHeight(qreal lineHeight);
177 LineHeightMode lineHeightMode()
const;
178 void setLineHeightMode(LineHeightMode);
181 QUrl baseUrl()
const;
182 void setBaseUrl(
const QUrl &url);
185 int minimumPixelSize()
const;
186 void setMinimumPixelSize(
int size);
188 int minimumPointSize()
const;
189 void setMinimumPointSize(
int size);
191 FontSizeMode fontSizeMode()
const;
192 void setFontSizeMode(FontSizeMode mode);
194 void componentComplete() override;
196 int resourcesLoading()
const;
198 qreal contentWidth()
const;
199 qreal contentHeight()
const;
201 QRectF boundingRect()
const override;
202 QRectF clipRect()
const override;
203#if QT_VERSION < QT_VERSION_CHECK(6
, 0
, 0
)
204#if QT_DEPRECATED_SINCE(5
, 15
)
205 QT_DEPRECATED_X(
"Use forceLayout() instead")
206 Q_INVOKABLE
void doLayout();
209 Q_REVISION(2, 9) Q_INVOKABLE
void forceLayout();
211 RenderType renderType()
const;
212 void setRenderType(RenderType renderType);
214 int renderTypeQuality()
const;
215 void setRenderTypeQuality(
int renderTypeQuality);
217 QString hoveredLink()
const;
219 Q_REVISION(2, 3) Q_INVOKABLE QString linkAt(qreal x, qreal y)
const;
221 qreal padding()
const;
222 void setPadding(qreal padding);
225 qreal topPadding()
const;
226 void setTopPadding(qreal padding);
227 void resetTopPadding();
229 qreal leftPadding()
const;
230 void setLeftPadding(qreal padding);
231 void resetLeftPadding();
233 qreal rightPadding()
const;
234 void setRightPadding(qreal padding);
235 void resetRightPadding();
237 qreal bottomPadding()
const;
238 void setBottomPadding(qreal padding);
239 void resetBottomPadding();
241 QJSValue fontInfo()
const;
242 QSizeF advance()
const;
244 void invalidate() override;
247 void textChanged(
const QString &text);
248 void linkActivated(
const QString &link);
249 Q_REVISION(2, 2)
void linkHovered(
const QString &link);
250 void fontChanged(
const QFont &font);
252 void linkColorChanged();
253 void styleChanged(QQuickText::TextStyle style);
254 void styleColorChanged();
255 void horizontalAlignmentChanged(QQuickText::HAlignment alignment);
256 void verticalAlignmentChanged(QQuickText::VAlignment alignment);
257 void wrapModeChanged();
258 void lineCountChanged();
259 void truncatedChanged();
260 void maximumLineCountChanged();
261 void textFormatChanged(QQuickText::TextFormat textFormat);
262 void elideModeChanged(QQuickText::TextElideMode mode);
263 void contentSizeChanged();
265 void contentWidthChanged(qreal contentWidth);
266 void contentHeightChanged(qreal contentHeight);
268 void lineHeightChanged(qreal lineHeight);
269 void lineHeightModeChanged(LineHeightMode mode);
270 void fontSizeModeChanged();
271 void minimumPixelSizeChanged();
272 void minimumPointSizeChanged();
273 void effectiveHorizontalAlignmentChanged();
274 void lineLaidOut(QQuickTextLine *line);
275 void baseUrlChanged();
276 void renderTypeChanged();
277 Q_REVISION(2, 6)
void paddingChanged();
278 Q_REVISION(2, 6)
void topPaddingChanged();
279 Q_REVISION(2, 6)
void leftPaddingChanged();
280 Q_REVISION(2, 6)
void rightPaddingChanged();
281 Q_REVISION(2, 6)
void bottomPaddingChanged();
282 Q_REVISION(2, 9)
void fontInfoChanged();
283 Q_REVISION(6, 0)
void renderTypeQualityChanged();
286 QQuickText(QQuickTextPrivate &dd, QQuickItem *parent =
nullptr);
288 void mousePressEvent(QMouseEvent *event) override;
289 void mouseReleaseEvent(QMouseEvent *event) override;
290 void itemChange(ItemChange change,
const ItemChangeData &value) override;
291 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
292 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
294 void updatePolish() override;
296 void hoverEnterEvent(QHoverEvent *event) override;
297 void hoverMoveEvent(QHoverEvent *event) override;
298 void hoverLeaveEvent(QHoverEvent *event) override;
299 void invalidateFontCaches();
302 void q_updateLayout();
303 void triggerPreprocess();
304 Q_REVISION(6, 7) QVariant loadResource(
int type,
const QUrl &source);
305 void resourceRequestFinished();
306 void imageDownloadFinished();
309 Q_DISABLE_COPY(QQuickText)
310 Q_DECLARE_PRIVATE(QQuickText)