45 Q_DECLARE_PUBLIC(QLabel)
53 QSize sizeForWidth(
int w)
const;
56 void movieUpdated(
const QRect &rect);
57 void movieResized(
const QSize &size);
60 void updateShortcut();
63 inline bool needTextControl()
const {
66 && (effectiveTextFormat != Qt::PlainText
67 || (textInteractionFlags & (Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard))
68 || q->focusPolicy() != Qt::NoFocus);
71 void ensureTextPopulated()
const;
72 void ensureTextLayouted()
const;
73 void ensureTextControl()
const;
74 void sendControlEvent(QEvent *e);
76 void linkHovered(
const QString &link);
78 QRectF layoutRect()
const;
79 QRect documentRect()
const;
80 QPoint layoutPoint(
const QPoint& p)
const;
81 Qt::LayoutDirection textDirection()
const;
82#ifndef QT_NO_CONTEXTMENU
83 QMenu *createStandardContextMenu(
const QPoint &pos);
89 std::optional<QIcon> icon;
92 std::optional<QPicture> picture;
95 QPointer<QMovie> movie;
96 std::array<QMetaObject::Connection, 2> movieConnections;
98 mutable QWidgetTextControl *control =
nullptr;
99 mutable QTextCursor shortcutCursor;
103#ifndef QT_NO_SHORTCUT
104 QPointer<QWidget> buddy;
107 Qt::TextFormat textformat = Qt::AutoText;
108 Qt::TextFormat effectiveTextFormat = Qt::PlainText;
109 Qt::TextInteractionFlags textInteractionFlags = Qt::LinksAccessibleByMouse;
110 mutable QSizePolicy sizePolicy;
112 int align = Qt::AlignLeft | Qt::AlignVCenter | Qt::TextExpandTabs;
114 mutable uint valid_hints : 1;
115 uint scaledcontents : 1;
116 mutable uint textLayoutDirty : 1;
117 mutable uint textDirty : 1;
118 mutable uint isTextLabel : 1;
119 mutable uint hasShortcut : 1;
121 uint validCursor : 1;
124 uint openExternalLinks : 1;
126 QTextDocument::ResourceProvider resourceProvider =
nullptr;
128 friend class QMessageBoxPrivate;