Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtextedit.h
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QTEXTEDIT_H
5#define QTEXTEDIT_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtWidgets/qabstractscrollarea.h>
9#include <QtGui/qtextdocument.h>
10#include <QtGui/qtextoption.h>
11#include <QtGui/qtextcursor.h>
12#include <QtGui/qtextformat.h>
13
15
17
18class QStyleSheet;
19class QTextDocument;
20class QMenu;
22class QMimeData;
25
26class Q_WIDGETS_EXPORT QTextEdit : public QAbstractScrollArea
27{
29 Q_DECLARE_PRIVATE(QTextEdit)
30 Q_PROPERTY(AutoFormatting autoFormatting READ autoFormatting WRITE setAutoFormatting)
31 Q_PROPERTY(bool tabChangesFocus READ tabChangesFocus WRITE setTabChangesFocus)
32 Q_PROPERTY(QString documentTitle READ documentTitle WRITE setDocumentTitle)
33 Q_PROPERTY(bool undoRedoEnabled READ isUndoRedoEnabled WRITE setUndoRedoEnabled)
34 Q_PROPERTY(LineWrapMode lineWrapMode READ lineWrapMode WRITE setLineWrapMode)
35 QDOC_PROPERTY(QTextOption::WrapMode wordWrapMode READ wordWrapMode WRITE setWordWrapMode)
36 Q_PROPERTY(int lineWrapColumnOrWidth READ lineWrapColumnOrWidth WRITE setLineWrapColumnOrWidth)
37 Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)
38#if QT_CONFIG(textmarkdownreader) && QT_CONFIG(textmarkdownwriter)
39 Q_PROPERTY(QString markdown READ toMarkdown WRITE setMarkdown NOTIFY textChanged)
40#endif
41#ifndef QT_NO_TEXTHTMLPARSER
42 Q_PROPERTY(QString html READ toHtml WRITE setHtml NOTIFY textChanged USER true)
43#endif
44 Q_PROPERTY(QString plainText READ toPlainText WRITE setPlainText DESIGNABLE false)
45 Q_PROPERTY(bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
46 Q_PROPERTY(qreal tabStopDistance READ tabStopDistance WRITE setTabStopDistance)
47 Q_PROPERTY(bool acceptRichText READ acceptRichText WRITE setAcceptRichText)
48 Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
49 Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags
50 WRITE setTextInteractionFlags)
51 Q_PROPERTY(QTextDocument *document READ document WRITE setDocument DESIGNABLE false)
52 Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
53public:
60 Q_ENUM(LineWrapMode)
61
63 AutoNone = 0,
64 AutoBulletList = 0x00000001,
65 AutoAll = 0xffffffff
66 };
67
68 Q_DECLARE_FLAGS(AutoFormatting, AutoFormattingFlag)
69 Q_FLAG(AutoFormatting)
70
71 explicit QTextEdit(QWidget *parent = nullptr);
72 explicit QTextEdit(const QString &text, QWidget *parent = nullptr);
73 virtual ~QTextEdit();
74
75 void setDocument(QTextDocument *document);
76 QTextDocument *document() const;
77
78 void setPlaceholderText(const QString &placeholderText);
79 QString placeholderText() const;
80
81 void setTextCursor(const QTextCursor &cursor);
82 QTextCursor textCursor() const;
83
84 bool isReadOnly() const;
85 void setReadOnly(bool ro);
86
87 void setTextInteractionFlags(Qt::TextInteractionFlags flags);
88 Qt::TextInteractionFlags textInteractionFlags() const;
89
90 qreal fontPointSize() const;
91 QString fontFamily() const;
92 int fontWeight() const;
93 bool fontUnderline() const;
94 bool fontItalic() const;
95 QColor textColor() const;
96 QColor textBackgroundColor() const;
97 QFont currentFont() const;
98 Qt::Alignment alignment() const;
99
100 void mergeCurrentCharFormat(const QTextCharFormat &modifier);
101
102 void setCurrentCharFormat(const QTextCharFormat &format);
103 QTextCharFormat currentCharFormat() const;
104
105 AutoFormatting autoFormatting() const;
106 void setAutoFormatting(AutoFormatting features);
107
108 bool tabChangesFocus() const;
109 void setTabChangesFocus(bool b);
110
111 inline void setDocumentTitle(const QString &title)
112 { document()->setMetaInformation(QTextDocument::DocumentTitle, title); }
113 inline QString documentTitle() const
114 { return document()->metaInformation(QTextDocument::DocumentTitle); }
115
116 inline bool isUndoRedoEnabled() const
117 { return document()->isUndoRedoEnabled(); }
118 inline void setUndoRedoEnabled(bool enable)
119 { document()->setUndoRedoEnabled(enable); }
120
121 LineWrapMode lineWrapMode() const;
122 void setLineWrapMode(LineWrapMode mode);
123
124 int lineWrapColumnOrWidth() const;
125 void setLineWrapColumnOrWidth(int w);
126
127 QTextOption::WrapMode wordWrapMode() const;
128 void setWordWrapMode(QTextOption::WrapMode policy);
129
130 bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
131#if QT_CONFIG(regularexpression)
132 bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
133#endif
134
135 QString toPlainText() const;
136#ifndef QT_NO_TEXTHTMLPARSER
137 QString toHtml() const;
138#endif
139#if QT_CONFIG(textmarkdownwriter)
140 QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const;
141#endif
142
143 void ensureCursorVisible();
144
145 Q_INVOKABLE virtual QVariant loadResource(int type, const QUrl &name);
146#ifndef QT_NO_CONTEXTMENU
147 QMenu *createStandardContextMenu();
148 QMenu *createStandardContextMenu(const QPoint &position);
149#endif
150
151 QTextCursor cursorForPosition(const QPoint &pos) const;
152 QRect cursorRect(const QTextCursor &cursor) const;
153 QRect cursorRect() const;
154
155 QString anchorAt(const QPoint& pos) const;
156
157 bool overwriteMode() const;
158 void setOverwriteMode(bool overwrite);
159
160 qreal tabStopDistance() const;
161 void setTabStopDistance(qreal distance);
162
163 int cursorWidth() const;
164 void setCursorWidth(int width);
165
166 bool acceptRichText() const;
167 void setAcceptRichText(bool accept);
168
174 void setExtraSelections(const QList<ExtraSelection> &selections);
175 QList<ExtraSelection> extraSelections() const;
176
178
179 bool canPaste() const;
180
181 void print(QPagedPaintDevice *printer) const;
182
183 QVariant inputMethodQuery(Qt::InputMethodQuery property) const override;
185
186public Q_SLOTS:
187 void setFontPointSize(qreal s);
188 void setFontFamily(const QString &fontFamily);
189 void setFontWeight(int w);
190 void setFontUnderline(bool b);
191 void setFontItalic(bool b);
192 void setTextColor(const QColor &c);
193 void setTextBackgroundColor(const QColor &c);
194 void setCurrentFont(const QFont &f);
195 void setAlignment(Qt::Alignment a);
196
197 void setPlainText(const QString &text);
198#ifndef QT_NO_TEXTHTMLPARSER
199 void setHtml(const QString &text);
200#endif
201#if QT_CONFIG(textmarkdownreader)
202 void setMarkdown(const QString &markdown);
203#endif
204 void setText(const QString &text);
205
206#ifndef QT_NO_CLIPBOARD
207 void cut();
208 void copy();
209 void paste();
210#endif
211
212 void undo();
213 void redo();
214
215 void clear();
216 void selectAll();
217
218 void insertPlainText(const QString &text);
219#ifndef QT_NO_TEXTHTMLPARSER
220 void insertHtml(const QString &text);
221#endif // QT_NO_TEXTHTMLPARSER
222
223 void append(const QString &text);
224
225 void scrollToAnchor(const QString &name);
226
227 void zoomIn(int range = 1);
228 void zoomOut(int range = 1);
229
232 void undoAvailable(bool b);
233 void redoAvailable(bool b);
235 void copyAvailable(bool b);
238
239protected:
240 virtual bool event(QEvent *e) override;
241 virtual void timerEvent(QTimerEvent *e) override;
242 virtual void keyPressEvent(QKeyEvent *e) override;
243 virtual void keyReleaseEvent(QKeyEvent *e) override;
244 virtual void resizeEvent(QResizeEvent *e) override;
245 virtual void paintEvent(QPaintEvent *e) override;
246 virtual void mousePressEvent(QMouseEvent *e) override;
247 virtual void mouseMoveEvent(QMouseEvent *e) override;
248 virtual void mouseReleaseEvent(QMouseEvent *e) override;
249 virtual void mouseDoubleClickEvent(QMouseEvent *e) override;
250 virtual bool focusNextPrevChild(bool next) override;
251#ifndef QT_NO_CONTEXTMENU
252 virtual void contextMenuEvent(QContextMenuEvent *e) override;
253#endif
254#if QT_CONFIG(draganddrop)
255 virtual void dragEnterEvent(QDragEnterEvent *e) override;
256 virtual void dragLeaveEvent(QDragLeaveEvent *e) override;
257 virtual void dragMoveEvent(QDragMoveEvent *e) override;
258 virtual void dropEvent(QDropEvent *e) override;
259#endif
260 virtual void focusInEvent(QFocusEvent *e) override;
261 virtual void focusOutEvent(QFocusEvent *e) override;
262 virtual void showEvent(QShowEvent *) override;
263 virtual void changeEvent(QEvent *e) override;
264#if QT_CONFIG(wheelevent)
265 virtual void wheelEvent(QWheelEvent *e) override;
266#endif
267
268 virtual QMimeData *createMimeDataFromSelection() const;
269 virtual bool canInsertFromMimeData(const QMimeData *source) const;
270 virtual void insertFromMimeData(const QMimeData *source);
271
272 virtual void inputMethodEvent(QInputMethodEvent *) override;
273
274 QTextEdit(QTextEditPrivate &dd, QWidget *parent);
275
276 virtual void scrollContentsBy(int dx, int dy) override;
277 virtual void doSetTextCursor(const QTextCursor &cursor);
278
279 void zoomInF(float range);
280
281private:
282 Q_DISABLE_COPY(QTextEdit)
283 friend class QTextEditControl;
284 friend class QTextDocument;
285 friend class QWidgetTextControl;
286};
287
289
291
292#endif // QTEXTEDIT_H
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition qcolor.h:31
The QContextMenuEvent class contains parameters that describe a context menu event.
Definition qevent.h:594
\inmodule QtCore
Definition qcoreevent.h:45
The QFocusEvent class contains event parameters for widget focus events.
Definition qevent.h:470
\reentrant
Definition qfont.h:22
The QInputMethodEvent class provides parameters for input method events.
Definition qevent.h:625
The QKeyEvent class describes a key event.
Definition qevent.h:424
The QMenu class provides a menu widget for use in menu bars, context menus, and other popup menus.
Definition qmenu.h:26
\inmodule QtCore
Definition qmimedata.h:16
\inmodule QtGui
Definition qevent.h:196
\inmodule QtGui
The QPaintEvent class contains event parameters for paint events.
Definition qevent.h:486
\inmodule QtCore\reentrant
Definition qpoint.h:25
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore \reentrant
The QResizeEvent class contains event parameters for resize events.
Definition qevent.h:548
The QShowEvent class provides an event that is sent when a widget is shown.
Definition qevent.h:578
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\reentrant \inmodule QtGui
Definition qtextcursor.h:30
MoveMode
\value MoveAnchor Moves the anchor to the same position as the cursor itself.
Definition qtextcursor.h:47
MoveOperation
\value NoMove Keep the cursor where it is
Definition qtextcursor.h:61
\reentrant \inmodule QtGui
The QTextEdit class provides a widget that is used to edit and display both plain and rich text.
Definition qtextedit.h:27
void cursorPositionChanged()
This signal is emitted whenever the position of the cursor changed.
bool isUndoRedoEnabled() const
Definition qtextedit.h:116
void redoAvailable(bool b)
This signal is emitted whenever redo operations become available (available is true) or unavailable (...
LineWrapMode
\value NoWrap \value WidgetWidth \value FixedPixelWidth \value FixedColumnWidth
Definition qtextedit.h:54
@ FixedPixelWidth
Definition qtextedit.h:57
@ WidgetWidth
Definition qtextedit.h:56
void setDocumentTitle(const QString &title)
Definition qtextedit.h:111
void currentCharFormatChanged(const QTextCharFormat &format)
This signal is emitted if the current character format has changed, for example caused by a change of...
void undoAvailable(bool b)
This signal is emitted whenever undo operations become available (available is true) or unavailable (...
void setUndoRedoEnabled(bool enable)
Definition qtextedit.h:118
void copyAvailable(bool b)
This signal is emitted when text is selected or de-selected in the text edit.
void textChanged()
This signal is emitted whenever the document's content changes; for example, when text is inserted or...
AutoFormattingFlag
\value AutoNone Don't do any automatic formatting.
Definition qtextedit.h:62
QString documentTitle() const
Definition qtextedit.h:113
void selectionChanged()
This signal is emitted whenever the selection changes.
\reentrant
Definition qtextoption.h:18
WrapMode
This enum describes how text is wrapped in a document.
Definition qtextoption.h:60
\inmodule QtCore
Definition qcoreevent.h:366
\inmodule QtCore
Definition qurl.h:94
\inmodule QtCore
Definition qvariant.h:65
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
b clear()
QString text
QCursor cursor
void textChanged(const QString &newText)
list append(new Employee("Blackpool", "Stephen"))
uint alignment
short next
Definition keywords.cpp:445
Combined button and popup list for selecting options.
Definition qcompare.h:63
InputMethodQuery
static jboolean cut(JNIEnv *, jobject)
static jboolean copy(JNIEnv *, jobject)
static jboolean paste(JNIEnv *, jobject)
static jboolean selectAll(JNIEnv *, jobject)
static QString toPlainText(const QString &text)
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
GLboolean GLboolean GLboolean b
GLenum mode
GLfloat GLfloat GLfloat w
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLfloat GLfloat f
GLsizei range
GLsizei GLsizei GLfloat distance
GLint GLsizei width
GLenum type
GLbitfield flags
GLboolean enable
GLuint name
GLint GLsizei GLsizei GLenum format
GLsizei GLsizei GLchar * source
struct _cl_event * event
GLdouble s
[6]
Definition qopenglext.h:235
GLenum query
const GLubyte * c
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_FLAG(x)
#define Q_INVOKABLE
#define Q_SLOTS
#define QDOC_PROPERTY(text)
#define Q_SIGNALS
double qreal
Definition qtypes.h:187
const char property[13]
Definition qwizard.cpp:101
label setAlignment(Qt::AlignLeft|Qt::AlignTop)
[0]
QString title
[35]
insertRed setText("insert red text")
stack undo()
edit textCursor().insertText(text)
[0]
QSizePolicy policy
const QByteArray plainText
QDBusArgument argument
The QTextEdit::ExtraSelection structure provides a way of specifying a character format for a given s...
Definition qtextedit.h:170
QTextCharFormat format
Definition qtextedit.h:172