8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtWidgets/qabstractscrollarea.h>
10#include <QtGui/qtextdocument.h>
11#include <QtGui/qtextoption.h>
12#include <QtGui/qtextcursor.h>
13#include <QtGui/qtextformat.h>
26class QPagedPaintDevice;
27class QRegularExpression;
29class Q_WIDGETS_EXPORT
QTextEdit :
public QAbstractScrollArea
32 Q_DECLARE_PRIVATE(QTextEdit)
33 Q_PROPERTY(AutoFormatting autoFormatting READ autoFormatting WRITE setAutoFormatting)
34 Q_PROPERTY(
bool tabChangesFocus READ tabChangesFocus WRITE setTabChangesFocus)
35 Q_PROPERTY(QString documentTitle READ documentTitle WRITE setDocumentTitle)
36 Q_PROPERTY(
bool undoRedoEnabled READ isUndoRedoEnabled WRITE setUndoRedoEnabled)
37 Q_PROPERTY(LineWrapMode lineWrapMode READ lineWrapMode WRITE setLineWrapMode)
38 QDOC_PROPERTY(QTextOption::WrapMode wordWrapMode READ wordWrapMode WRITE setWordWrapMode)
39 Q_PROPERTY(
int lineWrapColumnOrWidth READ lineWrapColumnOrWidth WRITE setLineWrapColumnOrWidth)
40 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly)
41#if QT_CONFIG(textmarkdownreader) && QT_CONFIG(textmarkdownwriter)
42 Q_PROPERTY(QString markdown READ toMarkdown WRITE setMarkdown NOTIFY textChanged)
44#ifndef QT_NO_TEXTHTMLPARSER
45 Q_PROPERTY(QString html READ toHtml WRITE setHtml NOTIFY textChanged USER
true)
47 Q_PROPERTY(QString plainText READ toPlainText WRITE setPlainText DESIGNABLE
false)
48 Q_PROPERTY(
bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
49 Q_PROPERTY(qreal tabStopDistance READ tabStopDistance WRITE setTabStopDistance)
50 Q_PROPERTY(
bool acceptRichText READ acceptRichText WRITE setAcceptRichText)
51 Q_PROPERTY(
int cursorWidth READ cursorWidth WRITE setCursorWidth)
52 Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags
53 WRITE setTextInteractionFlags)
54 Q_PROPERTY(QTextDocument *document READ document WRITE setDocument DESIGNABLE
false)
55 Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
65 enum AutoFormattingFlag {
67 AutoBulletList = 0x00000001,
71 Q_DECLARE_FLAGS(AutoFormatting, AutoFormattingFlag)
72 Q_FLAG(AutoFormatting)
74 explicit QTextEdit(QWidget *parent =
nullptr);
75 explicit QTextEdit(
const QString &text, QWidget *parent =
nullptr);
78 void setDocument(QTextDocument *document);
79 QTextDocument *document()
const;
81 void setPlaceholderText(
const QString &placeholderText);
82 QString placeholderText()
const;
84 void setTextCursor(
const QTextCursor &cursor);
85 QTextCursor textCursor()
const;
87 bool isReadOnly()
const;
88 void setReadOnly(
bool ro);
90 void setTextInteractionFlags(Qt::TextInteractionFlags flags);
91 Qt::TextInteractionFlags textInteractionFlags()
const;
93 qreal fontPointSize()
const;
94 QString fontFamily()
const;
95 int fontWeight()
const;
96 bool fontUnderline()
const;
97 bool fontItalic()
const;
98 QColor textColor()
const;
99 QColor textBackgroundColor()
const;
100 QFont currentFont()
const;
101 Qt::Alignment alignment()
const;
103 void mergeCurrentCharFormat(
const QTextCharFormat &modifier);
105 void setCurrentCharFormat(
const QTextCharFormat &format);
106 QTextCharFormat currentCharFormat()
const;
108 AutoFormatting autoFormatting()
const;
109 void setAutoFormatting(AutoFormatting features);
111 bool tabChangesFocus()
const;
112 void setTabChangesFocus(
bool b);
114 inline void setDocumentTitle(
const QString &title)
115 { document()->setMetaInformation(QTextDocument::DocumentTitle, title); }
116 inline QString documentTitle()
const
117 {
return document()->metaInformation(QTextDocument::DocumentTitle); }
119 inline bool isUndoRedoEnabled()
const
120 {
return document()->isUndoRedoEnabled(); }
121 inline void setUndoRedoEnabled(
bool enable)
122 { document()->setUndoRedoEnabled(enable); }
124 LineWrapMode lineWrapMode()
const;
125 void setLineWrapMode(LineWrapMode mode);
127 int lineWrapColumnOrWidth()
const;
128 void setLineWrapColumnOrWidth(
int w);
130 QTextOption::WrapMode wordWrapMode()
const;
131 void setWordWrapMode(QTextOption::WrapMode policy);
133 bool find(
const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
134#if QT_CONFIG(regularexpression)
135 bool find(
const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
138 QString toPlainText()
const;
139#ifndef QT_NO_TEXTHTMLPARSER
140 QString toHtml()
const;
142#if QT_CONFIG(textmarkdownwriter)
143 QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub)
const;
146 void ensureCursorVisible();
148 Q_INVOKABLE
virtual QVariant loadResource(
int type,
const QUrl &name);
149#ifndef QT_NO_CONTEXTMENU
150 QMenu *createStandardContextMenu();
151 QMenu *createStandardContextMenu(
const QPoint &position);
154 QTextCursor cursorForPosition(
const QPoint &pos)
const;
155 QRect cursorRect(
const QTextCursor &cursor)
const;
156 QRect cursorRect()
const;
158 QString anchorAt(
const QPoint& pos)
const;
160 bool overwriteMode()
const;
161 void setOverwriteMode(
bool overwrite);
163 qreal tabStopDistance()
const;
164 void setTabStopDistance(qreal distance);
166 int cursorWidth()
const;
167 void setCursorWidth(
int width);
169 bool acceptRichText()
const;
170 void setAcceptRichText(
bool accept);
172 struct ExtraSelection
175 QTextCharFormat format;
177 void setExtraSelections(
const QList<ExtraSelection> &selections);
178 QList<ExtraSelection> extraSelections()
const;
180 void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);
182 bool canPaste()
const;
184 void print(QPagedPaintDevice *printer)
const;
186 QVariant inputMethodQuery(Qt::InputMethodQuery property)
const override;
187 Q_INVOKABLE QVariant inputMethodQuery(Qt::InputMethodQuery query, QVariant argument)
const;
190 void setFontPointSize(qreal s);
191 void setFontFamily(
const QString &fontFamily);
192 void setFontWeight(
int w);
193 void setFontUnderline(
bool b);
194 void setFontItalic(
bool b);
195 void setTextColor(
const QColor &c);
196 void setTextBackgroundColor(
const QColor &c);
197 void setCurrentFont(
const QFont &f);
198 void setAlignment(Qt::Alignment a);
200 void setPlainText(
const QString &text);
201#ifndef QT_NO_TEXTHTMLPARSER
202 void setHtml(
const QString &text);
204#if QT_CONFIG(textmarkdownreader)
205 void setMarkdown(
const QString &markdown);
207 void setText(
const QString &text);
209#ifndef QT_NO_CLIPBOARD
221 void insertPlainText(
const QString &text);
222#ifndef QT_NO_TEXTHTMLPARSER
223 void insertHtml(
const QString &text);
226 void append(
const QString &text);
228 void scrollToAnchor(
const QString &name);
230 void zoomIn(
int range = 1);
231 void zoomOut(
int range = 1);
235 void undoAvailable(
bool b);
236 void redoAvailable(
bool b);
237 void currentCharFormatChanged(
const QTextCharFormat &format);
238 void copyAvailable(
bool b);
239 void selectionChanged();
240 void cursorPositionChanged();
243 virtual bool event(QEvent *e) override;
244 virtual void timerEvent(QTimerEvent *e) override;
245 virtual void keyPressEvent(QKeyEvent *e) override;
246 virtual void keyReleaseEvent(QKeyEvent *e) override;
247 virtual void resizeEvent(QResizeEvent *e) override;
248 virtual void paintEvent(QPaintEvent *e) override;
249 virtual void mousePressEvent(QMouseEvent *e) override;
250 virtual void mouseMoveEvent(QMouseEvent *e) override;
251 virtual void mouseReleaseEvent(QMouseEvent *e) override;
252 virtual void mouseDoubleClickEvent(QMouseEvent *e) override;
253 virtual bool focusNextPrevChild(
bool next) override;
254#ifndef QT_NO_CONTEXTMENU
255 virtual void contextMenuEvent(QContextMenuEvent *e) override;
257#if QT_CONFIG(draganddrop)
258 virtual void dragEnterEvent(QDragEnterEvent *e) override;
259 virtual void dragLeaveEvent(QDragLeaveEvent *e) override;
260 virtual void dragMoveEvent(QDragMoveEvent *e) override;
261 virtual void dropEvent(QDropEvent *e) override;
263 virtual void focusInEvent(QFocusEvent *e) override;
264 virtual void focusOutEvent(QFocusEvent *e) override;
265 virtual void showEvent(QShowEvent *) override;
266 virtual void changeEvent(QEvent *e) override;
267#if QT_CONFIG(wheelevent)
268 virtual void wheelEvent(QWheelEvent *e) override;
271 virtual QMimeData *createMimeDataFromSelection()
const;
272 virtual bool canInsertFromMimeData(
const QMimeData *source)
const;
273 virtual void insertFromMimeData(
const QMimeData *source);
275 virtual void inputMethodEvent(QInputMethodEvent *) override;
277 QTextEdit(QTextEditPrivate &dd, QWidget *parent);
279 virtual void scrollContentsBy(
int dx,
int dy) override;
280 virtual void doSetTextCursor(
const QTextCursor &cursor);
282 void zoomInF(
float range);
285 Q_DISABLE_COPY(QTextEdit)
286 friend class QTextEditControl;
287 friend class QTextDocument;
288 friend class QWidgetTextControl;
289 friend class ::tst_QTextEdit;
292Q_DECLARE_OPERATORS_FOR_FLAGS(QTextEdit::AutoFormatting)
The QApplication class manages the GUI application's control flow and main settings.
The QGroupBox widget provides a group box frame with a title.
The QPaintEngineState class provides information about the active paint engine's current state....
virtual QPixmap createPixmap(QSize size)
void setSystemRect(const QRect &rect)
void setActive(bool newState)
Sets the active state of the paint engine to state.
virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual QPixmap createPixmapFromImage(QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor)
friend class QWidgetPrivate
QPaintEngine(PaintEngineFeatures features=PaintEngineFeatures())
Creates a paint engine with the featureset specified by caps.
friend class QFontEngineQPF2
friend class QMacCGContext
virtual void drawTextItem(const QPointF &p, const QTextItem &textItem)
This function draws the text item textItem at position p.
virtual void drawLines(const QLineF *lines, int lineCount)
The default implementation splits the list of lines in lines into lineCount separate calls to drawPat...
PolygonDrawMode
\value OddEvenMode The polygon should be drawn using OddEven fill rule.
virtual void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the buffer points.
virtual void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount rectangles in the buffer rects.
virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor)
Reimplement this function to draw the part of the image specified by the sr rectangle in the given re...
QPainter * painter() const
Returns the paint engine's painter.
void fix_neg_rect(int *x, int *y, int *w, int *h)
void setPaintDevice(QPaintDevice *device)
virtual QPoint coordinateOffset() const
virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode)
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
void setDirty(DirtyFlags df)
void setSystemClip(const QRegion &baseClip)
QPaintEngineState * state
friend class QPainterReplayer
friend class QX11GLPlatformPixmap
PaintEngineFeatures gccaps
void clearDirty(DirtyFlags df)
bool hasFeature(PaintEngineFeatures feature) const
Returns true if the paint engine supports the specified feature; otherwise returns false.
virtual void drawEllipse(const QRectF &r)
Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
QRegion systemClip() const
QPaintDevice * paintDevice() const
Returns the device that this engine is painting on, if painting is active; otherwise returns \nullptr...
bool testDirty(DirtyFlags df)
virtual void updateState(const QPaintEngineState &state)=0
Reimplement this function to update the state of a paint engine.
DirtyFlag
\value DirtyPen The pen is dirty and needs to be updated.
Type
\value X11 \value Windows \value MacPrinter \value CoreGraphics \macos's Quartz2D (CoreGraphics) \val...
virtual Type type() const =0
Reimplement this function to return the paint engine \l{Type}.
void drawPath(const QPainterPath &path)
Draws the given painter path using the current pen for outline and the current brush for filling.
bool begin(QPaintDevice *)
Begins painting the paint device and returns true if successful; otherwise returns false.
void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount of the given rectangles using the current pen and brush.
void drawLines(const QLineF *lines, int lineCount)
Draws the first lineCount lines in the array lines using the current pen.
friend class QFontEngineMac
friend class QWin32PaintEngine
friend class QWin32PaintEnginePrivate
friend class QFontEngineWin
void drawEllipse(const QRectF &r)
Draws the ellipse defined by the given rectangle.
void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the array points using the current pen's color.
bool isActive() const
Returns true if begin() has been called and end() has not yet been called; otherwise returns false.
\inmodule QtCore\reentrant
The QPolygonF class provides a list of points using floating point precision.
The QStyleHintReturnMask class provides style hints that return a QRegion.
The QStyleHintReturnVariant class provides style hints that return a QVariant.
\variable QStyleOptionGraphicsItem::exposedRect
\variable QStyleOptionDockWidget::title
\variable QStyleOptionMenuItem::menuItemType
\variable QStyleOption::palette
\variable QStyleOptionFocusRect::backgroundColor
The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.
\variable QStyleOptionFrame::features
\variable QStyleOptionToolBox::selectedPosition
The QStyleOption class stores the parameters used by QStyle functions.
The QTextEdit class provides a widget that is used to edit and display both plain and rich text.
The QWindows11Style class provides a look and feel suitable for applications on Microsoft Windows 11.
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
void polish(QWidget *widget) override
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QRect subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget) const override
QWindows11Style(QWindows11StylePrivate &dd)
void polish(QPalette &pal) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget=nullptr) const override
~QWindows11Style() override
Destructor.
HBITMAP buffer(int w=0, int h=0)
static int fixedPixelMetric(QStyle::PixelMetric pm)
static HDC hdcForWidgetBackingStore(const QWidget *widget)
static QBackingStore * backingStoreForWidget(const QWidget *widget)
bool swapAlphaChannel(const QRect &rect, bool allPixels=false)
bool drawBackgroundThruNativeBuffer(QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio, qreal correctionFactor)
static HWND winId(const QWidget *widget)
void init(bool force=false)
static bool isLineEditBaseColorSet(const QStyleOption *option, const QWidget *widget)
bool transitionsEnabled() const
bool drawBackgroundDirectly(HDC dc, QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio)
static bool isItemViewDelegateLineEdit(const QWidget *widget)
static bool useVista(bool update=false)
QRgb groupBoxTextColorDisabled
bool fixAlphaChannel(const QRect &rect)
QIcon m_titleBarCloseIcon
void cleanup(bool force=false)
QWindowsVistaStylePrivate()
bool isTransparent(QWindowsThemeData &QWindowsThemeData)
bool hasAlphaChannel(const QRect &rect)
QIcon m_titleBarNormalIcon
QRegion region(QWindowsThemeData &QWindowsThemeData)
QTime animationTime() const
~QWindowsVistaStylePrivate()
bool drawBackground(QWindowsThemeData &QWindowsThemeData, qreal correctionFactor=1)
static HTHEME createTheme(int theme, const QWidget *widget)
static int pixelMetricFromSystemDp(QStyle::PixelMetric pm, const QStyleOption *option=nullptr, const QWidget *widget=nullptr)
static QString themeName(int theme)
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows ...
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const override
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget=nullptr) const override
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void polish(QWidget *widget) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget=nullptr) const override
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
\reimp
~QWindowsVistaStyle() override
Destructor.
void polish(QPalette &pal) override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget=nullptr) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QWindowsVistaStyle(QWindowsVistaStylePrivate &dd)
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
QString string() const override
void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override
Uses the given painter to paint the icon with the required mode and state into the rectangle rect.
QString key() const override
\variable QIconEngine::ScaledPixmapArgument::size
QIconEngine * clone() const override
Reimplement this method to return a clone of this icon engine.
WinFontIconEngine(const QChar &glyph, const QFont &font)
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
QT_REQUIRE_CONFIG(thread)
T qstyleoption_cast(const QStyleOption *opt)
T qstyleoption_cast(QStyleOption *opt)
@ fillControlAltSecondary
@ frameColorStrongDisabled
@ controlStrokeOnAccentSecondary
@ fillControlAltQuarternary
bool operator==(const ThemeMapKey &k1, const ThemeMapKey &k2)
size_t qHash(const ThemeMapKey &key)
AlphaChannelType alphaType
ThemeMapKey(const QWindowsThemeData &data)