QTextEdit Class

QTextEdit クラスは、プレーンテキストとリッチテキストの両方を編集・表示するためのウィジェットを提供します。詳細...

Header: #include <QTextEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QAbstractScrollArea
Inherited By:

QTextBrowser

パブリックタイプ

struct ExtraSelection
flags AutoFormatting
enum AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll }
enum LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }

プロパティ

パブリック関数

QTextEdit(QWidget *parent = nullptr)
QTextEdit(const QString &text, QWidget *parent = nullptr)
virtual ~QTextEdit()
bool acceptRichText() const
Qt::Alignment alignment() const
QString anchorAt(const QPoint &pos) const
QTextEdit::AutoFormatting autoFormatting() const
bool canPaste() const
QMenu *createStandardContextMenu()
QMenu *createStandardContextMenu(const QPoint &position)
QTextCharFormat currentCharFormat() const
QFont currentFont() const
QTextCursor cursorForPosition(const QPoint &pos) const
QRect cursorRect() const
QRect cursorRect(const QTextCursor &cursor) const
int cursorWidth() const
QTextDocument *document() const
QString documentTitle() const
void ensureCursorVisible()
QList<QTextEdit::ExtraSelection> extraSelections() const
bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
QString fontFamily() const
bool fontItalic() const
qreal fontPointSize() const
bool fontUnderline() const
int fontWeight() const
bool isReadOnly() const
bool isUndoRedoEnabled() const
int lineWrapColumnOrWidth() const
QTextEdit::LineWrapMode lineWrapMode() const
virtual QVariant loadResource(int type, const QUrl &name)
void mergeCurrentCharFormat(const QTextCharFormat &modifier)
void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
bool overwriteMode() const
QString placeholderText() const
void print(QPagedPaintDevice *printer) const
void setAcceptRichText(bool accept)
void setAutoFormatting(QTextEdit::AutoFormatting features)
void setCurrentCharFormat(const QTextCharFormat &format)
void setCursorWidth(int width)
void setDocument(QTextDocument *document)
void setDocumentTitle(const QString &title)
void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
void setLineWrapColumnOrWidth(int w)
void setLineWrapMode(QTextEdit::LineWrapMode mode)
void setOverwriteMode(bool overwrite)
void setPlaceholderText(const QString &placeholderText)
void setReadOnly(bool ro)
void setTabChangesFocus(bool b)
void setTabStopDistance(qreal distance)
void setTextCursor(const QTextCursor &cursor)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setUndoRedoEnabled(bool enable)
void setWordWrapMode(QTextOption::WrapMode policy)
bool tabChangesFocus() const
qreal tabStopDistance() const
QColor textBackgroundColor() const
QColor textColor() const
QTextCursor textCursor() const
Qt::TextInteractionFlags textInteractionFlags() const
QString toHtml() const
QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
QString toPlainText() const
QTextOption::WrapMode wordWrapMode() const

再実装パブリック関数

virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const override

パブリックスロット

void append(const QString &text)
void clear()
void copy()
void cut()
void insertHtml(const QString &text)
void insertPlainText(const QString &text)
void paste()
void redo()
void scrollToAnchor(const QString &name)
void selectAll()
void setAlignment(Qt::Alignment a)
void setCurrentFont(const QFont &f)
void setFontFamily(const QString &fontFamily)
void setFontItalic(bool italic)
void setFontPointSize(qreal s)
void setFontUnderline(bool underline)
void setFontWeight(int weight)
void setHtml(const QString &text)
void setMarkdown(const QString &markdown)
void setPlainText(const QString &text)
void setText(const QString &text)
void setTextBackgroundColor(const QColor &c)
void setTextColor(const QColor &c)
void undo()
void zoomIn(int range = 1)
void zoomOut(int range = 1)

シグナル

void copyAvailable(bool yes)
void currentCharFormatChanged(const QTextCharFormat &f)
void cursorPositionChanged()
void redoAvailable(bool available)
void selectionChanged()
void textChanged()
void undoAvailable(bool available)

保護された関数

virtual bool canInsertFromMimeData(const QMimeData *source) const
virtual QMimeData *createMimeDataFromSelection() const
virtual void insertFromMimeData(const QMimeData *source)

再実装された保護された関数

virtual void changeEvent(QEvent *e) override
virtual void contextMenuEvent(QContextMenuEvent *event) override
virtual void dragEnterEvent(QDragEnterEvent *e) override
virtual void dragLeaveEvent(QDragLeaveEvent *e) override
virtual void dragMoveEvent(QDragMoveEvent *e) override
virtual void dropEvent(QDropEvent *e) override
virtual void focusInEvent(QFocusEvent *e) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *e) override
virtual void inputMethodEvent(QInputMethodEvent *e) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mouseDoubleClickEvent(QMouseEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void scrollContentsBy(int dx, int dy) override
virtual void showEvent(QShowEvent *) override
virtual void wheelEvent(QWheelEvent *e) override

詳細説明

導入と概念

QTextEdit は高度な WYSIWYG ビューア/エディタで、HTML スタイルのタグや Markdown フォーマットを使ったリッチテキスト書式をサポートしています。大規模なドキュメントを扱い、ユーザーの入力に素早く反応するように最適化されています。

QTextEditは段落と文字で動作します。段落は、ウィジェットの幅に収まるようにワードラップされたフォーマットされた文字列です。プレーンテキストを読むときのデフォルトでは、1つの改行が段落を意味します。文書は0個以上の段落から構成されます。段落内の単語は、段落のアライメントに従って整列されます。段落はハード改行で区切られます。段落内の各文字は、フォントや色などの属性を持ちます。

QTextEdit は画像、リスト、表を表示できます。テキストが大きすぎてテキストエディットのビューポートで表示できない場合は、スクロールバーが表示されます。テキストエディターでは、プレーンテキストとリッチテキストの両方のファイルを読み込むことができます。リッチテキストはHTML 4マークアップのサブセットを使用して記述することができます。詳細はサポートされているHTMLサブセットのページを参照してください。

小さなリッチテキストを表示するだけなら、QLabel を使ってください。

Qtのリッチテキストサポートは、アプリケーションに合理的なオンラインヘルプ機能を追加するための、高速でポータブルかつ効率的な方法を提供し、リッチテキストエディタの基礎を提供するように設計されています。HTML サポートでは不十分だと感じる場合は、Qt WebKit を使用することを検討してください。

QTextEdit のマウスカーソルの形は、デフォルトではQt::IBeamCursor です。これはviewport() の cursor プロパティで変更できます。

QTextEditを表示ウィジェットとして使用する

QTextEditは、テーブルや画像を含む大きなHTMLサブセットを表示することができます。

テキストは、setHtml() を使用して設定または置換できます。 () は既存のテキストを削除し、setHtml() で渡されたテキストに置き換えます。レガシーなHTMLでsetHtml() を呼び出した後にtoHtml() を呼び出すと、返されるテキストはマークアップが異なっていても同じようにレンダリングされます。テキスト全体を削除するにはclear() を使用します。

また、setMarkdown ()を使用してテキストを設定または置換することもできます。同じ注意事項が適用されます。その後、toMarkdown ()を呼び出すと、返されるテキストが異なる場合がありますが、意味は可能な限り保持されます。HTMLが埋め込まれたMarkdownは、setHtml()と同じ制限付きでパースすることができます。しかし、toMarkdown()は、HTMLが埋め込まれていない「純粋な」Markdownを書くだけです。

テキスト自体は、QTextCursor クラスを使用するか、便利関数insertHtml()、insertPlainText()、append()、paste() を使用して挿入することができます。QTextCursor は、表やリストのような複雑なオブジェクトを文書に挿入することもでき、選択範囲の作成と選択されたテキストへの変更の適用を扱います。

デフォルトでは、テキスト編集はテキスト編集ウィジェット内に収まるように単語を空白で折り返します。setLineWrapMode ()関数を使用して、必要な行の折り返しを指定します。折り返しを指定しない場合は、NoWrapsetLineWrapMode() を呼び出すと、固定ピクセル幅FixedPixelWidth 、または文字列(たとえば80列)FixedColumnWidth を、setLineWrapColumnOrWidth() で指定したピクセルまたは列で設定できます。ウィジェットの幅にワード・ラップを使用する場合WidgetWidth 、空白で改行するか、setWordWrapMode() で任意の場所で改行するかを指定できます。

find() 関数を使用すると、テキスト内で指定した文字列を検索して選択することができます。

QTextEdit 内の段落の総数を制限したい場合、例えばログ・ビューワではよく役に立ちますが、その場合はQTextDocument の maximumBlockCount プロパティを使用します。

読み取り専用キーバインド

QTextEdit が読み取り専用で使用されている場合、キーバインドはナビゲーションに制限され、テキストはマウスでのみ選択できます:

キープレスアクション
上へ1行上に移動します。
下へ1行下に移動します。
左に 1 文字移動します。
1文字分右に移動します。
ページアップビューポートを1ページ分上に移動します。
PageDownビューポートを1つ下に移動します。
ホームテキストの先頭に移動します。
終了テキストの最後に移動します。
Alt+ホイールページを水平方向にスクロールする(Wheelはマウスのホイール)。
Ctrl+ホイールテキストをズームする。
Ctrl+Aすべてのテキストを選択します。

テキスト編集では、いくつかのメタ情報を提供できる場合があります。例えば、documentTitle ()関数は、HTMLの<title> タグ内のテキストを返します。

注: HTMLドキュメントへのズームは、フォントサイズが固定サイズに設定されていない場合にのみ機能します。

QTextEdit をエディターとして使う

QTextEdit を表示ウィジェットとして使用する際の情報は、すべてこのウィジェットにも適用されます。

現在の文字書式の属性は、setFontItalic(),setFontWeight(),setFontUnderline(),setFontFamily(),setFontPointSize(),setTextColor(),setCurrentFont() で設定されます。現在の段落の配置はsetAlignment() で設定します。

テキストの選択は、QTextCursor クラスによって処理されます。 クラスは、選択の作成、テキストの内容の取得、選択の削除の機能を提供します。textCursor() メソッドを使用すると、ユーザが見えるカーソルに対応するオブジェクトを取得できます。QTextEdit で選択範囲を設定したい場合は、QTextCursor オブジェクトに選択範囲を作成し、setTextCursor() を使用してそのカーソルを可視カーソルにします。選択範囲は、copy() でクリップボードにコピーしたり、cut() でクリップボードにカットすることができます。テキスト全体を選択するには、selectAll() を使用します。

カーソルが移動し、基本的な書式属性が変更されると、currentCharFormatChanged() シグナルが発せられ、新しいカーソル位置に新しい属性が反映される。

textChanged() シグナルは、テキストが変更されるたびに発行されます(setText() の結果、またはエディタ自体によって)。

QTextEdit はQTextDocument オブジェクトを保持し、document() メソッドを使用して取得できます。また、setDocument() を使用して、独自のドキュメント・オブジェクトを設定することもできます。

QTextDocument QTextEdit は、 () 関数を提供しています。この関数は、テキストが読み込まれてから、または引数として false を指定して setModified を最後に呼び出してから、テキストが変更された場合に true を返します。さらに、アンドゥとリドゥのメソッドも提供します。isModified

ドラッグ&ドロップ

QTextEdit はドラッグ&ドロップもサポートしています。デフォルトでは、ユーザーがこれらの MIME タイプのデータをドキュメントにドロップすると、QTextEdit はプレーンテキスト、HTML、リッチテキストを挿入します。canInsertFromMimeData() およびinsertFromMimeData() を再実装して、追加の MIME タイプをサポートします。

たとえば、ユーザーが画像を QTextEdit にドラッグ&ドロップできるようにするには、これらの関数を次のように実装します:

bool TextEdit::canInsertFromMimeData( const QMimeData *source ) const
{
    if (source->hasImage())
        return true;
    else
        return QTextEdit::canInsertFromMimeData(source);
}

trueを返すことで、画像のMIMEタイプのサポートを追加します。他のすべてのMIMEタイプについては、デフォルトの実装を使用します。

void TextEdit::insertFromMimeData( const QMimeData *source )
{
    if (source->hasImage())
    {
        QImage image = qvariant_cast<QImage>(source->imageData());
        QTextCursor cursor = this->textCursor();
        QTextDocument *document = this->document();
        document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
        cursor.insertImage("image");
    }
}

MIMEソースが保持するQVariant から画像を展開し、リソースとしてドキュメントに挿入します。

キーバインドの編集

編集用に実装されているキーバインディングリストです:

キープレスアクション
バックスペースカーソルの左側の文字を削除する。
削除カーソルの右側の文字を削除する。
Ctrl+C選択したテキストをクリップボードにコピーします。
Ctrl+Insert選択したテキストをクリップボードにコピーする。
Ctrl+K行末まで削除する。
Ctrl+Vクリップボードのテキストをテキスト編集に貼り付けます。
Shift+挿入クリップボードのテキストをテキストエディットに貼り付けます。
Ctrl+X選択したテキストを削除し、クリップボードにコピーします。
Shift+削除選択されているテキストを削除し、クリップボードにコピーします。
Ctrl+Z直前の操作を取り消します。
Ctrl+Y直前の操作をやり直します。
カーソルを左に1文字移動する。
Ctrl+Leftカーソルを左に1ワード移動する。
カーソルを右に1文字移動する。
Ctrl+Rightカーソルを右に1文字移動する。
カーソルを1行上に移動する。
Downカーソルを1行下に移動する。
PageUpカーソルを1ページ上に移動する。
PageDownカーソルを1ページ下に移動する。
ホームカーソルを行頭に移動する。
Ctrl+Homeカーソルをテキストの先頭に移動する。
Endカーソルを行末に移動する。
Ctrl+Endカーソルを行末に移動する。
Alt+ホイールページを水平方向にスクロールする(Wheelはマウスホイール)。

テキストを選択(マーク)するには、Shiftキーを押しながら移動キーのいずれかを押します。たとえば、Shift+Rightは右の文字を選択し、Shift+Ctrl+Rightは右の単語を選択します。

QTextDocumentQTextCursorシンタックス・ハイライターの例リッチテキスト処理も参照のこと

メンバ型ドキュメント

enum QTextEdit::AutoFormattingFlag
flags QTextEdit::AutoFormatting

定数説明
QTextEdit::AutoNone0自動書式設定を行いません。
QTextEdit::AutoBulletList0x00000001自動的に箇条書きリストを作成します (例えば、ユーザが一番左の列にアスタリスク ('*') を入力した場合や、既存のリスト項目で Enter キーを押した場合など)。
QTextEdit::AutoAll0xffffffffすべての自動書式設定を適用する。現在のところ、自動箇条書きリストのみがサポートされています。

AutoFormatting型はQFlags<AutoFormattingFlag>のtypedefである。これは、AutoFormattingFlag 値の OR の組み合わせを格納します。

enum QTextEdit::LineWrapMode

定数
QTextEdit::NoWrap0
QTextEdit::WidgetWidth1
QTextEdit::FixedPixelWidth2
QTextEdit::FixedColumnWidth3

プロパティ Documentation

acceptRichText : bool

このプロパティは、テキスト編集がユーザによるリッチテキスト挿入を受け入れるかどうかを保持する。

このプロパティがfalseに設定されている場合、テキスト編集はユーザからのプレーンテキスト入力のみを受け付けます。例えば、クリップボードやドラッグ&ドロップなどである。

このプロパティのデフォルトはtrueである。

アクセス関数:

bool acceptRichText() const
void setAcceptRichText(bool accept)

autoFormatting : AutoFormatting

このプロパティは、自動フォーマット機能の有効なセットを保持します。

値は、AutoFormattingFlag enumの値の任意の組み合わせにすることができます。デフォルトはAutoNone です。すべての自動書式設定を有効にするには、AutoAll を選択します。

現在のところ、提供されている自動フォーマット機能はAutoBulletList だけです。

アクセス関数:

QTextEdit::AutoFormatting autoFormatting() const
void setAutoFormatting(QTextEdit::AutoFormatting features)

cursorWidth : int

このプロパティは、カーソルの幅をピクセル単位で指定します。デフォルト値は1です。

アクセス関数:

int cursorWidth() const
void setCursorWidth(int width)

document : QTextDocument*

このプロパティは、テキストエディタの基礎となるドキュメントを保持します。

注意: ドキュメントの親オブジェクトでない限り、エディタはドキュメントの所有権を持ちません。提供されたドキュメントの親オブジェクトはオブジェクトの所有者のままです。以前に割り当てられたドキュメントがエディタの子である場合、そのドキュメントは削除されます。

アクセス関数:

QTextDocument *document() const
void setDocument(QTextDocument *document)

documentTitle : QString

このプロパティは、テキストから解析されたドキュメントのタイトルを保持します。

デフォルトでは、新しく作成された空のドキュメントの場合、このプロパティは空の文字列を含みます。

アクセス関数:

QString documentTitle() const
void setDocumentTitle(const QString &title)

html : QString

このプロパティは、テキスト編集のテキストへのHTMLインタフェースを提供します。

toHtml() は、テキスト編集のテキストを html として返します。

setHtml() は、テキスト編集のテキストを変更する。以前のテキストはすべて削除され、取り消し/やり直しの履歴はクリアされます。入力テキストはhtml形式のリッチテキストとして解釈されます。currentCharFormat textCursor()がすでにドキュメントの先頭にある場合を除き、()もリセットされる。

注意: HTMLを含むQString が作成され、setHtml()に渡されたとき、テキストが正しくデコードされるようにするのは呼び出し側の責任である。

デフォルトでは、新しく作成された空のドキュメントの場合、このプロパティには本文のない HTML 4.0 ドキュメントを表すテキストが含まれます。

アクセス関数:

QString toHtml() const
void setHtml(const QString &text)

通知シグナル:

void textChanged()

Supported HTML SubsetおよびplainTextも参照してください

lineWrapColumnOrWidth : int

このプロパティは、テキストが折り返される位置(折り返しモードに依存するピクセルまたは列)を保持します。

折り返しモードがFixedPixelWidth の場合、値はテキストを折り返すべきテキスト編集の左端からのピクセル数です。wrap mode がFixedColumnWidth の場合、値はテキストが折り返されるべきテキスト編集の左端からの列番号(文字列)です。

デフォルトでは、このプロパティの値は0である。

アクセス関数:

int lineWrapColumnOrWidth() const
void setLineWrapColumnOrWidth(int w)

lineWrapModeも参照

lineWrapMode : LineWrapMode

このプロパティは、行の折り返しモードを保持します。

デフォルトのモードはWidgetWidth で、テキスト編集の右端で単語が折り返されます。折り返しは空白で行われ、単語全体はそのまま維持されます。単語の中で折り返したい場合は、setWordWrapMode ()を使用してください。折り返しモードをFixedPixelWidth またはFixedColumnWidth に設定した場合は、希望する幅でsetLineWrapColumnOrWidth() も呼び出す必要があります。

アクセス関数:

QTextEdit::LineWrapMode lineWrapMode() const
void setLineWrapMode(QTextEdit::LineWrapMode mode)

lineWrapColumnOrWidthも参照してください

markdown : QString

このプロパティは、テキスト編集のテキストへのMarkdownインタフェースを提供します。

toMarkdown() は、テキスト編集のテキストを、HTMLフォーマットを埋め込まない "純粋な "Markdownとして返します。 がサポートするいくつかの機能(特定の色や名前付きフォントの使用など)は、"純粋な "Markdownでは表現できないため、省略されます。QTextDocument

setMarkdown() はテキスト編集のテキストを変更します。以前のテキストはすべて削除され、アンドゥ/リドゥ履歴はクリアされます。入力テキストはMarkdownフォーマットのリッチテキストとして解釈されます。

markdown 文字列に含まれるHTMLの解析はsetHtml と同じ方法で処理されます ; しかし、HTMLブロック内のMarkdownフォーマットはサポートされていません。

パーサーのいくつかの機能は、features 引数を介して有効または無効にすることができます:

定数説明
MarkdownNoHTMLMarkdownテキスト内のHTMLタグは破棄されます。
MarkdownDialectCommonMarkパーサーはCommonMarkによって標準化された機能のみをサポートします。
MarkdownDialectGitHubパーサーはGitHub方言をサポートします

デフォルトはMarkdownDialectGitHub

アクセス関数:

QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
void setMarkdown(const QString &markdown)

通知シグナル:

void textChanged()

plainTexthtmlQTextDocument::toMarkdown ()、QTextDocument::setMarkdown)も参照のこと

overwriteMode : bool

このプロパティは、ユーザーが入力したテキストが既存のテキストを上書きするかどうかを保持します。

多くのテキストエディタと同様に、テキストエディタ・ウィジェットは、ユーザによって入力された新しいテキストで既存のテキストを挿入または上書きするように設定することができる。

このプロパティがtrue の場合、既存のテキストは新しいテキストで一文字ずつ上書きされ、そうでない場合、テキストはカーソル位置に挿入され、既存のテキストを置き換えます。

デフォルトでは、このプロパティはfalse です(新しいテキストは既存のテキストを上書きしません)。

アクセス関数:

bool overwriteMode() const
void setOverwriteMode(bool overwrite)

placeholderText : QString

このプロパティは、エディタのプレースホルダ・テキストを保持します。

このプロパティを設定すると、document ()が空である限り、エディタはグレーアウトされたプレースホルダ・テキストを表示します。

デフォルトでは、このプロパティには空の文字列が含まれます。

アクセス関数:

QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)

document()も参照してください

plainText : QString

このプロパティは、テキストエディタの内容をプレーンテキストとして保持します。

このプロパティが設定されると、以前の内容は削除され、アンドゥ/リドゥ履歴はリセットされます。currentCharFormat textCursor() がすでにドキュメントの先頭にある場合を除き、() もリセットされます。

テキスト編集に別のコンテンツ・タイプがある場合、toPlainText ()を呼び出してもプレーン・テキストに置き換えられることはありません。唯一の例外は、nbsp;という改行されないスペースで、これは標準スペースに変換されます。

デフォルトでは、コンテンツのないエディタでは、このプロパティは空文字列を含みます。

アクセス関数:

QString toPlainText() const
void setPlainText(const QString &text)

htmlも参照してください

readOnly : bool

このプロパティは、テキスト編集が読み取り専用かどうかを保持します。

読み取り専用テキスト編集では、ユーザーはテキストをナビゲートしてテキストを選択するだけで、テキストを変更することはできません。

このプロパティのデフォルトはfalseです。

アクセス関数:

bool isReadOnly() const
void setReadOnly(bool ro)

tabChangesFocus : bool

このプロパティは、Tab 、フォーカスを変更するか、入力として受け付けるかを保持します。

テキスト編集では、フォーカスの連鎖が途切れるため、Tab キーを使ってユーザーがタブレーターを入力したり、インデントを変更したりできない場合があります。デフォルトはfalseです。

アクセス関数:

bool tabChangesFocus() const
void setTabChangesFocus(bool b)

tabStopDistance : qreal

このプロパティは、タブストップの距離をピクセル単位で保持します。

デフォルトでは、このプロパティは80ピクセルの値を持ちます。

QChar::VisualTabCharacter 文字のhorizontalAdvance() よりも小さい値を設定しないでください。そうしないと、タブ文字が不完全に描画されます。

アクセス関数:

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

QTextOption::ShowTabsAndSpaces およびQTextDocument::defaultTextOptionも参照してください

textInteractionFlags : Qt::TextInteractionFlags

ウィジェットがユーザー入力とどのように相互作用するかを指定します。

デフォルト値は、QTextEdit が読み取り専用か編集可能か、QTextBrowser か否かによって異なります。

アクセス関数:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

undoRedoEnabled : bool

このプロパティは、アンドゥとリドゥが有効かどうかを保持します。

ユーザーは、このプロパティがtrueであり、取り消し(またはやり直し)が可能なアクションがある場合にのみ、アクションを取り消したりやり直したりすることができます。

アクセス関数:

bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)

wordWrapMode : QTextOption::WrapMode

このプロパティは、QTextEdit がテキストを単語で折り返すときに使用するモードを保持します。

デフォルトでは、このプロパティはQTextOption::WrapAtWordBoundaryOrAnywhere に設定されています。

アクセス関数:

QTextOption::WrapMode wordWrapMode() const
void setWordWrapMode(QTextOption::WrapMode policy)

QTextOption::WrapModeも参照してください

メンバ関数 ドキュメント

[explicit] QTextEdit::QTextEdit(QWidget *parent = nullptr)

parent を親に持つ空の QTextEdit を構築します。

[explicit] QTextEdit::QTextEdit(const QString &text, QWidget *parent = nullptr)

親を持つ QTextEdit を構築しますparent.テキスト編集はテキストを表示しますtext 。テキストは html として解釈されます。

[virtual noexcept] QTextEdit::~QTextEdit()

デストラクタ。

Qt::Alignment QTextEdit::alignment() const

現在の段落のアライメントを返します。

setAlignment()も参照してください

QString QTextEdit::anchorAt(const QPoint &pos) const

位置pos にあるアンカーの参照を返すか、その位置にアンカーが存在しない場合は空文字列を返します。

[slot] void QTextEdit::append(const QString &text)

テキスト編集の最後に、text を持つ新しい段落を追加します。

注意: 追加される新しい段落は、カーソルの位置によって決まる現在の段落と同じ文字書式とブロック書式を持ちます。

currentCharFormat() およびQTextCursor::blockFormat()も参照

[virtual protected] bool QTextEdit::canInsertFromMimeData(const QMimeData *source) const

この関数は、source で指定されたMIMEデータオブジェクトの内容がデコードされ、文書に挿入できる場合、true を返す。この関数は、例えばドラッグ操作中にマウスがこのウィジェットに入り、ドラッグ&ドロップ操作を受け付けることが可能かどうかを判断する必要がある場合に呼び出されます。

この関数を再実装して、追加の MIME タイプに対するドラッグ&ドロップのサポートを有効にします。

bool QTextEdit::canPaste() const

テキストをクリップボードから textedit にペーストできるかどうかを返します。

[override virtual protected] void QTextEdit::changeEvent(QEvent *e)

再実装します:QFrame::changeEvent(QEvent *ev)を再実装します。

[slot] void QTextEdit::clear()

テキスト編集内のテキストをすべて削除します。

注意事項

  • アンドゥ/リドゥ履歴もクリアされます。
  • currentCharFormat textCursor() がすでにドキュメントの先頭にない限り、 () はリセットされます。

cut()、setPlainText()、setHtml()も参照

[override virtual protected] void QTextEdit::contextMenuEvent(QContextMenuEvent *event)

再インプリメント:QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e)。

createStandardContextMenu() で作成された標準コンテキストメニューを表示します。

テキスト編集にコンテキストメニューを表示したくない場合は、contextMenuPolicyQt::NoContextMenu に設定します。コンテキストメニューをカスタマイズしたい場合は、この関数を再実装してください。標準のコンテキスト・メニューを拡張したい場合は、この関数を再実装し、createStandardContextMenu() を呼び出し、返されたメニューを拡張します。

イベントに関する情報は、event オブジェクトで渡されます。

void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

[slot] void QTextEdit::copy()

選択されたテキストをクリップボードにコピーします。

copyAvailable()も参照

[signal] void QTextEdit::copyAvailable(bool yes)

このシグナルは、テキスト編集でテキストが選択または選択解除されたときに発せられます。

テキストが選択されると、このシグナルはyes をtrueに設定して発せられます。テキストが選択されていない場合、または選択されたテキストが選択解除された場合、このシグナルはyes を false に設定して発行されます。

yes が true の場合、copy() を使って選択部分をクリップボードにコピーすることができます。yes が false の場合、copy() は何もしない。

selectionChanged()も参照

[virtual protected] QMimeData *QTextEdit::createMimeDataFromSelection() const

この関数は、テキスト編集の現在の選択範囲の内容を表す新しいMIMEデータオブジェクトを返します。この関数は、選択範囲を新しいQMimeData オブジェクトにカプセル化する必要があるときに呼び出されます。たとえば、ドラッグ&ドロップ操作を開始するときや、クリップボードにデータをコピーするときなどです。

この関数を再実装する場合、返されるQMimeData オブジェクトの所有権は呼び出し側に渡されることに注意してください。選択範囲は、textCursor ()関数を使用して取得することができます。

QMenu *QTextEdit::createStandardContextMenu()

この関数は、ユーザがマウスの右ボタンでテキスト編集をクリックしたときに表示される標準のコンテキスト・メニューを作成します。この関数は、デフォルトのcontextMenuEvent() ハンドラから呼び出されます。ポップアップ・メニューの所有権は呼び出し元に移ります。

代わりに createStandardContextMenu(QPoint) バージョンを使用することをお勧めします。この関数を使用すると、ユーザーがクリックした場所に応じたアクションが有効になります。

QMenu *QTextEdit::createStandardContextMenu(const QPoint &position)

この関数は、ユーザーがマウスの右ボタンでテキスト編集をクリックしたときに表示される標準コンテキストメニューを作成します。この関数はデフォルトのcontextMenuEvent()ハンドラから呼び出され、マウスがクリックされたドキュメント座標のposition 。これにより、ユーザがクリックした位置に応じたアクションを有効にすることができます。ポップアップ・メニューの所有権は呼び出し元に移ります。

QTextCharFormat QTextEdit::currentCharFormat() const

新しいテキストを挿入するときに使用される文字書式を返します。

setCurrentCharFormat()も参照してください

[signal] void QTextEdit::currentCharFormatChanged(const QTextCharFormat &f)

このシグナルは、カーソル位置の変更などによって現在の文字書式が変更された場合に発せられます。

新しい書式はf である。

setCurrentCharFormat()も参照

QFont QTextEdit::currentFont() const

現在の書式のフォントを返します。

setCurrentFont()、setFontFamily()、およびsetFontPointSize() も参照

QTextCursor QTextEdit::cursorForPosition(const QPoint &pos) const

pos の位置(ビューポート座標系)にQTextCursor を返す。

[signal] void QTextEdit::cursorPositionChanged()

このシグナルは、カーソルの位置が変わるたびに発せられる。

QRect QTextEdit::cursorRect() const

テキスト編集のカーソルを含む矩形(ビューポート座標)を返す。

QRect QTextEdit::cursorRect(const QTextCursor &cursor) const

cursor を含む矩形(ビューポート座標)を返す。

[slot] void QTextEdit::cut()

選択されたテキストをクリップボードにコピーし、テキスト編集から削除します。

選択されたテキストがない場合は何も起こりません。

copy() およびpaste()も参照してください

[override virtual protected] void QTextEdit::dragEnterEvent(QDragEnterEvent *e)

再インプリメント:QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event)。

[override virtual protected] void QTextEdit::dragLeaveEvent(QDragLeaveEvent *e)

再インプリメント:QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event)。

[override virtual protected] void QTextEdit::dragMoveEvent(QDragMoveEvent *e)

再リンプルメント: (QDragLeaveEvent *event):QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event)。

[override virtual protected] void QTextEdit::dropEvent(QDropEvent *e)

再リンプルメント:QAbstractScrollArea::dropEvent(QDropEvent *event)。

void QTextEdit::ensureCursorVisible()

必要に応じてテキスト編集をスクロールすることで、カーソルが表示されていることを確認します。

QList<QTextEdit::ExtraSelection> QTextEdit::extraSelections() const

以前に設定された余分な選択範囲を返します。

setExtraSelections()も参照のこと

bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

与えられたoptions を使用して、文字列exp の次に出現する文字列を検索します。exp が見つかった場合はtrue を返し、カーソルを変更して一致するものを選択します。そうでない場合はfalse を返します。

bool QTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

これはオーバーロードされた関数です。

与えられたoptions を使用して、正規表現exp にマッチする次の出現回数を検索します。

マッチが見つかり、カーソルがマッチを選択するように変更された場合はtrue を返し、そうでない場合はfalse を返します。

それ以外の場合は を返す: 歴史的な理由により、exp に設定された大文字小文字の区別オプションは無視される。その代わりに、options が大文字小文字を区別するかどうかの判定に使われます。

[override virtual protected] void QTextEdit::focusInEvent(QFocusEvent *e)

再実装:QWidget::focusInEvent(QFocusEvent *event)。

[override virtual protected] bool QTextEdit::focusNextPrevChild(bool next)

Reimplements: (QFocusEvent *event):QWidget::focusNextPrevChild(bool next)。

[override virtual protected] void QTextEdit::focusOutEvent(QFocusEvent *e)

再リプルメント:QWidget::focusOutEvent(QFocusEvent *event)。

QString QTextEdit::fontFamily() const

現在の書式のフォントファミリーを返します。

setFontFamily()、setCurrentFont()、setFontPointSize()も参照して ください。

bool QTextEdit::fontItalic() const

現在の書式のフォントがイタリック体の場合はtrue を返し、そうでない場合は false を返します。

setFontItalic()も参照

qreal QTextEdit::fontPointSize() const

ポイントサイズ 現在の書式のフォントのポイントサイズを返します。

setFontFamily()、setCurrentFont() およびsetFontPointSize() も参照

bool QTextEdit::fontUnderline() const

現在の書式のフォントに下線が引かれている場合はtrue を返し、そうでない場合は false を返す。

setFontUnderline()も参照

int QTextEdit::fontWeight() const

現在の書式のフォントの太さを返します。

setFontWeight()、setCurrentFont()、setFontPointSize() およびQFont::Weight参照

[override virtual protected] void QTextEdit::inputMethodEvent(QInputMethodEvent *e)

再インプリメント:QWidget::inputMethodEvent(QInputMethodEvent *event)。

[override virtual] QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const

再実装:QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

[virtual protected] void QTextEdit::insertFromMimeData(const QMimeData *source)

この関数は、source で指定された MIME データオブジェクトの内容を、現在のカーソル位置のテキスト編集に挿入します。この関数は、クリップボードへの貼り付け操作の結果としてテキストが挿入されるとき、またはテキスト編集がドラッグ&ドロップ操作からデータを受け取るときに呼び出されます。

この関数を再実装して、追加のMIMEタイプのドラッグ&ドロップをサポートできるようにしてください。

[slot] void QTextEdit::insertHtml(const QString &text)

現在のカーソル位置にhtmlフォーマットと仮定されたtext を挿入する便利なスロットです。

と等価である:

edit->textCursor().insertHtml(fragment);

注意: スタイル・シートと共にこの関数を使う場合、スタイル・シートは文書内の現在のブロックにのみ適用されます。文書全体にスタイルシートを適用するには、代わりにQTextDocument::setDefaultStyleSheet ()を使用してください。

[slot] void QTextEdit::insertPlainText(const QString &text)

現在のカーソル位置にtext を挿入する便利なスロット。

と同じです。

edit->textCursor().insertText(text);

[override virtual protected] void QTextEdit::keyPressEvent(QKeyEvent *e)

と同等です:QAbstractScrollArea::keyPressEvent(QKeyEvent *e)と同等です。

[override virtual protected] void QTextEdit::keyReleaseEvent(QKeyEvent *e)

再実装: (QKeyEvent *e):QWidget::keyReleaseEvent(QKeyEvent *event)。

[virtual invokable] QVariant QTextEdit::loadResource(int type, const QUrl &name)

指定されたtype およびname で指定されたリソースをロードします。

この関数はQTextDocument::loadResource() を拡張したものです。

注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

QTextDocument::loadResource()も参照してください

void QTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

エディターのカーソル上でQTextCursor::mergeCharFormat を呼び出すことにより、modifier で指定されたプロパティを現在の文字フォーマットにマージします。エディタに選択範囲がある場合は、modifier のプロパティが選択範囲に直接適用されます。

QTextCursor::mergeCharFormat()も参照してください

[override virtual protected] void QTextEdit::mouseDoubleClickEvent(QMouseEvent *e)

再実装:QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e)を参照してください。

[override virtual protected] void QTextEdit::mouseMoveEvent(QMouseEvent *e)

Reimplements: (QMouseEvent *e):QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e)。

[override virtual protected] void QTextEdit::mousePressEvent(QMouseEvent *e)

再リプルメント: (QMouseEvent *e):QAbstractScrollArea::mousePressEvent(QMouseEvent *e).

[override virtual protected] void QTextEdit::mouseReleaseEvent(QMouseEvent *e)

再リプルメント: (QMouseEvent *e)QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e)。

void QTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)

与えられたoperation を実行してカーソルを移動する。

modeQTextCursor::KeepAnchor の場合、カーソルは移動したテキストを選択します。これは、ユーザーがShiftキーを押しながらカーソル・キーでカーソルを移動するのと同じ効果です。

QTextCursor::movePosition()も参照のこと

[override virtual protected] void QTextEdit::paintEvent(QPaintEvent *event)

再実装:QAbstractScrollArea::paintEvent(QPaintEvent *event)。

このイベント・ハンドラは、event で渡されたペイント・イベントを受け取るために、サブクラスで再実装することができます。 通常、QTextEdit のサブクラスでこの関数を再実装する必要はありません。

注意: QPainter を作成する場合は、viewport() で操作する必要があります。

警告 この関数の再実装の内部で、基礎となるテキスト・ドキュメントを変更してはいけません。

[slot] void QTextEdit::paste()

クリップボードから現在のカーソル位置のテキスト編集にテキストを貼り付けます。

クリップボードにテキストがない場合は何も起こりません。

この関数の動作を変更するには、つまり、QTextEdit で貼り付けられる内容や貼り付け方法を変更するには、仮想関数canInsertFromMimeData() とinsertFromMimeData() を再実装してください。

cut() およびcopy()も参照してください

void QTextEdit::print(QPagedPaintDevice *printer) const

テキスト編集のドキュメントを、与えられたprinter に印刷する便利な関数です。この関数は、印刷範囲として QPrinter::Selection もサポートしていることを除けば、ドキュメントに対して直接 print メソッドを呼び出すのと同じです。

QTextDocument::print()も参照してください

[slot] void QTextEdit::redo()

最後の操作をやり直します。

やり直す操作がない場合、つまりアンドゥ/リドゥ履歴にやり直しステップがない場合は、何も起こりません。

undo()も参照

[signal] void QTextEdit::redoAvailable(bool available)

このシグナルは、やり直し操作が利用可能になる (available が真)、または利用不可能になる (available が偽)たびに発せられます。

[override virtual protected] void QTextEdit::resizeEvent(QResizeEvent *e)

再実装:QAbstractScrollArea::resizeEvent(QResizeEvent *event)。

[override virtual protected] void QTextEdit::scrollContentsBy(int dx, int dy)

再リンプルメント:QAbstractScrollArea::scrollContentsBy(int dx, int dy)。

[slot] void QTextEdit::scrollToAnchor(const QString &name)

与えられたname を持つアンカーが表示されるようにテキスト編集をスクロールします。name が空であるか、既に表示されているか、見つからない場合は何もしません。

[slot] void QTextEdit::selectAll()

すべてのテキストを選択します。

copy(),cut(),textCursor()も参照

[signal] void QTextEdit::selectionChanged()

このシグナルは、選択範囲が変更されるたびに発行されます。

copyAvailable() も参照

[slot] void QTextEdit::setAlignment(Qt::Alignment a)

現在の段落のアライメントをa に設定します。有効なアライメントはQt::AlignLeft,Qt::AlignRight,Qt::AlignJustify およびQt::AlignCenter (水平方向の中央揃え)。

alignment()も参照

void QTextEdit::setCurrentCharFormat(const QTextCharFormat &format)

新しいテキストを挿入するときに使用する文字書式を、エディターのカーソルでQTextCursor::setCharFormat() を呼び出してformat に設定します。エディタに選択範囲がある場合、文字書式は選択範囲に直接適用されます。

currentCharFormat()も参照してください

[slot] void QTextEdit::setCurrentFont(const QFont &f)

現在の書式のフォントをf に設定します。

currentFont(),setFontPointSize(),setFontFamily()も参照

void QTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)

こ の関数を使 う と 、 文書内のあ る領域を一時的に、selections で指定 し た色で塗 る こ と がで き ます。こ れは、 た と えばプ ロ グ ラ ミ ン グのエデ ィ タ で、 テ キ ス ト の行全体を指定 し た背景色でマ ー ク し て、 ブ レ ー ク ポ イ ン ト があ る こ と を示 し たい と き に有用で し ょ う 。

QTextEdit::ExtraSelectionextraSelections()も参照

[slot] void QTextEdit::setFontFamily(const QString &fontFamily)

現在の書式のフォントファミリをfontFamily に設定する。

fontFamily() およびsetCurrentFont() も参照

[slot] void QTextEdit::setFontItalic(bool italic)

italic が真の場合、現在の書式をイタリック体に設定します。そうでない場合、現在の書式をノンイタリック体に設定します。

fontItalic() も参照

[slot] void QTextEdit::setFontPointSize(qreal s)

現在の書式のポイントサイズをs に設定します。

s が 0 または負の場合、この関数の動作は定義されないことに注意。

fontPointSize()、setCurrentFont()、およびsetFontFamily() も参照

[slot] void QTextEdit::setFontUnderline(bool underline)

underline が真の場合、現在の書式を下線付きに設定し、それ以外の場合、現在の書式を非下線付きに設定する。

fontUnderline() も参照

[slot] void QTextEdit::setFontWeight(int weight)

現在の書式のフォントの太さを、指定されたweight に設定します。ここで使われる値は、QFont::Weight enum で定義された範囲内にあります。

fontWeight()、setCurrentFont()、setFontFamily()も参照

[slot] void QTextEdit::setPlainText(const QString &text)

テキスト編集のテキストを文字列text に変更します。以前のテキストはすべて削除されます。

注意事項

  • text はプレーンテキストとして解釈されます。
  • 取り消し/やり直しの履歴もクリアされる。
  • currentCharFormat textCursor() がすでに文書の先頭にある場合を除き、 () はリセットされます。

注: プロパティのセッター関数plainText

toPlainText()も参照してください

[slot] void QTextEdit::setText(const QString &text)

テキスト編集のtext を設定します。テキストはプレーン・テキストでもHTMLでもかまいません。

テキスト編集の推測を避けるには、setHtml() またはsetPlainText() を直接使用します。

toPlainText() およびtoHtml()も参照

[slot] void QTextEdit::setTextBackgroundColor(const QColor &c)

現在の書式のテキスト背景色をc に設定する。

textBackgroundColor()も参照

[slot] void QTextEdit::setTextColor(const QColor &c)

現在の書式のテキスト色をc に設定します。

textColor() も参照

void QTextEdit::setTextCursor(const QTextCursor &cursor)

可視のcursor を設定します。

textCursor()も参照

[override virtual protected] void QTextEdit::showEvent(QShowEvent *)

再インプリメント:QWidget::showEvent(QShowEvent *event)。

QColor QTextEdit::textBackgroundColor() const

現在のフォーマットのテキスト背景色を返します。

setTextBackgroundColor()も参照して ください。

[signal] void QTextEdit::textChanged()

このシグナルは、ドキュメントの内容が変更されるたびに発行されます。例えば、テキストが挿入または削除されたときや、フォーマットが適用されたときなどです。

注: プロパティhtml に対するノーティファイアシグナル。プロパティmarkdown に対するノーティファイアシグナル。

QColor QTextEdit::textColor() const

現在のフォーマットのテキスト色を返す。

setTextColor()も参照

QTextCursor QTextEdit::textCursor() const

現在表示されているカーソルを表すQTextCursor のコピーを返す。setTextCursor返されたカーソルの変更は、QTextEdit のカーソルには影響しないことに注意。

setTextCursor()も参照してください

QString QTextEdit::toPlainText() const

QString QTextEdit::toPlainText() const

テキスト編集のテキストをプレーンテキストとして返します。

注意: プロパティplainText のゲッター関数です。

QTextEdit::setPlainText()も参照してください

[slot] void QTextEdit::undo()

最後の操作を取り消します。

元に戻す操作がない場合、つまり元に戻す/やり直しの履歴に元に戻すステップがない場合は、何も起こりません。

redo()も参照

[signal] void QTextEdit::undoAvailable(bool available)

このシグナルは、アンドゥ操作が利用可能になる (available が true) か、利用不可能になる (available が false) ときに発せられます。

[override virtual protected] void QTextEdit::wheelEvent(QWheelEvent *e)

再実装:QAbstractScrollArea::wheelEvent(QWheelEvent *e)。

[slot] void QTextEdit::zoomIn(int range = 1)

ベースのフォントサイズrange ポイントを大きくし、すべてのフォントサイズを新しいサイズに再計算することによって、テキストをズームします。これは画像のサイズを変更しません。

zoomOut()も参照

[slot] void QTextEdit::zoomOut(int range = 1)

ベース の文字サイ ズrange ポ イ ン ト を小 さ く し 、 すべての文字サ イ ズ を新 し いサ イ ズに再計算す る こ と に よ っ て、 テ キ ス ト を縮小 し ます。この場合、画像のサイズは変更されません。

zoomIn()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。