QPlainTextEdit Class
QPlainTextEdit クラスは、プレーンテキストの編集や表示に使用されるウィジェットを提供します。詳細...
| ヘッダー: | #include <QPlainTextEdit> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QAbstractScrollArea |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QPlainTextEdit は、リッチテキスト処理 API の一部です。
パブリック型
| enum | LineWrapMode { NoWrap, WidgetWidth } |
プロパティ
|
|
パブリック関数
| QPlainTextEdit(QWidget *parent = nullptr) | |
| QPlainTextEdit(const QString &text, QWidget *parent = nullptr) | |
| virtual | ~QPlainTextEdit() |
| QString | anchorAt(const QPoint &pos) const |
| bool | backgroundVisible() const |
| int | blockCount() const |
| bool | canPaste() const |
| bool | centerOnScroll() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() 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()) |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| int | maximumBlockCount() const |
| 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 | setBackgroundVisible(bool visible) |
| void | setCenterOnScroll(bool enabled) |
| 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 | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
| void | setMaximumBlockCount(int maximum) |
| 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 |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
再実装されたパブリック関数
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
パブリックスロット
| void | appendHtml(const QString &html) |
| void | appendPlainText(const QString &text) |
| void | centerCursor() |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | selectAll() |
| void | setPlainText(const QString &text) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
シグナル
| void | blockCountChanged(int newBlockCount) |
| void | copyAvailable(bool yes) |
| void | cursorPositionChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
| void | updateRequest(const QRect &rect, int dy) |
protected関数
| QRectF | blockBoundingGeometry(const QTextBlock &block) const |
| QRectF | blockBoundingRect(const QTextBlock &block) const |
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| QPointF | contentOffset() const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| QTextBlock | firstVisibleBlock() const |
| QAbstractTextDocumentLayout::PaintContext | getPaintContext() 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 *e) 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 |
詳細な説明
はじめにおよび概念
QPlainTextEdit は、プレーンテキストをサポートする高度なビューア/エディタです。大規模なドキュメントの処理や、ユーザー入力への迅速な応答に最適化されています。
QPlainTextは、QTextEdit とほぼ同じ技術と概念を使用していますが、プレーンテキストの処理に最適化されています。
QPlainTextEdit は、段落と文字を単位として処理します。段落とは、ウィジェットの幅に合わせて改行が挿入された、書式設定済みの文字列のことです。デフォルトでは、プレーンテキストを読み込む際、1 つの改行が 1 段落を表します。 文書は、0個以上の段落で構成されます。段落はハード改行によって区切られます。段落内の各文字には、フォントや色など、独自の属性があります。
QPlainTextEdit 上のマウスカーソルの形状は、デフォルトで `Qt::IBeamCursor ` です。これは、viewport()` の `cursor` プロパティを通じて変更できます。
QPlainTextEdit を表示ウィジェットとして使用する場合
テキストの設定や置換は、setPlainText() を使用して行います。このメソッドは既存のテキストを削除し、setPlainText() に渡されたテキストで置き換えます。
テキストの挿入には、QTextCursor クラス、または便利関数であるinsertPlainText()、appendPlainText()、paste() を使用できます。
デフォルトでは、テキストエディットは、テキストエディットウィジェット内に収まるように、空白で単語を折り返します。setLineWrapMode() 関数を使用すると、希望する改行の種別を指定できます。改行を行わない場合は、WidgetWidth またはNoWrap を使用します。ウィジェットの幅に合わせて単語を折り返す場合(WidgetWidth )、setWordWrapMode() を使用して、空白で改行するか、任意の場所で改行するかを指定できます。
find() 関数を使用すると、テキスト内から指定された文字列を検索して選択することができます。
ログビューアなどで有用なように、QPlainTextEdit 内の段落の総数を制限したい場合は、maximumBlockCount プロパティを使用できます。setMaximumBlockCount() とappendPlainText() を組み合わせることで、QPlainTextEdit をログテキスト用の効率的なビューアに変えることができます。centerOnScroll() プロパティを使用することでスクロール量を減らすことができ、ログビューアの表示速度をさらに向上させることができます。 テキストの書式設定は、構文ハイライト機能(後述)を使用するか、appendHtml() を使用して HTML 形式のテキストを追加することで、限定的な範囲で行えます。QPlainTextEdit は、表やフロートを含む複雑なリッチテキストのレンダリングには対応していませんが、ログビューアで必要となる可能性のある、段落ベースの限定的な書式設定には対応しています。
読み取り専用時のキーバインド
QPlainTextEdit を読み取り専用で使用する場合、キーバインドはナビゲーションに限定され、テキストの選択はマウスでのみ可能です:
| キー入力 | キー入力 |
|---|---|
| Qt::UpArrow | 1行上に移動します。 |
| Qt::DownArrow | 1行下に移動します。 |
| Qt::LeftArrow | 1 文字左に移動します。 |
| Qt::RightArrow | 1 文字右に移動します。 |
| PageUp | (ビューポート)ページを 1 ページ上に移動します。 |
| PageDown | (ビューポートの)ページを 1 ページ下へ移動します。 |
| Home | テキストの先頭に移動します。 |
| End | テキストの末尾に移動します。 |
| Alt+ホイール | ページを水平方向にスクロールします(ホイールとはマウスのスクロールホイールのことです)。 |
| Ctrl+ホイール | テキストを拡大・縮小します。 |
| Ctrl+A | すべてのテキストを選択します。 |
QPlainTextEdit をエディタとして使用する場合
QPlainTextEdit を表示ウィジェットとして使用する場合のすべての情報は、ここにも当てはまります。
テキストの選択は、QTextCursor クラスによって処理されます。このクラスは、選択範囲の作成、テキスト内容の取得、選択範囲の削除などの機能を提供します。textCursor() メソッドを使用すると、ユーザーに見えるカーソルに対応するオブジェクトを取得できます。 QPlainTextEditで選択範囲を設定したい場合は、QTextCursor オブジェクト上で選択範囲を作成し、setCursor() を使用してそのカーソルを表示カーソルに設定します。選択範囲は、copy() でクリップボードにコピーしたり、cut() でクリップボードに切り取ったりできます。テキスト全体を選択するには、selectAll() を使用します。
QPlainTextEditはQTextDocument オブジェクトを保持しており、document()メソッドを使用して取得できます。 また、setDocument() を使用して独自のドキュメントオブジェクトを設定することもできます。QTextDocument は、テキストが変更されるとtextChanged() シグナルを発行します。また、isModified() 関数も提供しており、テキストが読み込まれた後、または引数として false を渡して setModified が最後に呼び出されてからテキストが変更された場合は true を返します。さらに、元に戻す(undo)およびやり直し(redo)のためのメソッドも提供しています。
構文の強調表示
QTextEdit と同様に、QPlainTextEditはQSyntaxHighlighter と連携して動作します。
編集用キーバインド
編集用に実装されているキーバインドの一覧:
| キー入力 | アクション |
|---|---|
| Backspace | カーソルの左側にある文字を削除します。 |
| Delete | カーソルの右側にある文字を削除します。 |
| Ctrl+C | 選択したテキストをクリップボードにコピーします。 |
| Ctrl+Insert | 選択したテキストをクリップボードにコピーします。 |
| Ctrl+K | 行の末尾まで削除します。 |
| Ctrl+V | クリップボードのテキストをテキスト編集に貼り付けます。 |
| Shift+Insert | クリップボードのテキストをテキスト編集に貼り付けます。 |
| Ctrl+X | 選択したテキストを削除し、クリップボードにコピーします。 |
| Shift+Delete | 選択したテキストを削除し、クリップボードにコピーします。 |
| Ctrl+Z | 直前の操作を元に戻します。 |
| Ctrl+Y | 直前の操作をやり直します。 |
| 左矢印 | カーソルを1文字分左に移動します。 |
| Ctrl+左矢印 | カーソルを1語分左に移動します。 |
| 右矢印 | カーソルを1文字右に移動します。 |
| Ctrl+右矢印 | カーソルを1語分右に移動します。 |
| 上矢印 | カーソルを一行上に移動します。 |
| Ctrl+上矢印 | カーソルを1語分上に移動します。 |
| 下矢印 | カーソルを1行下に移動します。 |
| Ctrl + 下矢印 | カーソルを1語分下に移動します。 |
| PageUp | カーソルを1ページ上に移動します。 |
| PageDown | カーソルを1ページ分下に移動します。 |
| Home | カーソルを行の先頭に移動します。 |
| Ctrl+Home | カーソルをテキストの先頭に移動します。 |
| End | カーソルを行の末尾に移動します。 |
| Ctrl+End | カーソルをテキストの末尾に移動します。 |
| Alt+ホイール | ページを水平方向にスクロールします(「ホイール」とはマウスのホイールのことです)。 |
| Ctrl+ホイール | テキストを拡大・縮小します。 |
テキストを選択(マーク)するには、Shift キーを押したまま移動キーのいずれかを押します。たとえば、Shift + 右矢印キーを押すと右隣の文字が選択され、Shift + Ctrl + 右矢印キーを押すと右隣の単語が選択されます。
QTextEdit との違い
QPlainTextEdit は、QTextEdit およびQTextDocument の基盤となっている技術のほとんどを使用して実装された、スリムなクラスです。QTextEdit に対するそのパフォーマンス上の利点は、主に、テキスト文書に対して「QPlainTextDocumentLayout 」と呼ばれる、異なる簡略化されたテキストレイアウトを使用していることに起因しています(QTextDocument::setDocumentLayout() を参照)。 このプレーンテキスト文書レイアウトは、表や埋め込みフレームをサポートしておらず、ピクセル単位の高さ計算の代わりに、行ごと、あるいは段落ごとのスクロール方式を採用しています。 これにより、はるかに大規模なドキュメントを処理できるだけでなく、行折り返しを有効にした状態でエディタのサイズをリアルタイムで変更することも可能になります。また、高速なログビューアとしても機能します(setMaximumBlockCount() を参照)。
{構文ハイライトの例}, {リッチテキスト処理}
QTextDocument およびQTextCursorも参照してください 。
メンバ型のドキュメント
enum QPlainTextEdit::LineWrapMode
| 定数 | 定数 |
|---|---|
QPlainTextEdit::NoWrap | 0 |
QPlainTextEdit::WidgetWidth | 1 |
プロパティのドキュメント
backgroundVisible : bool
このプロパティは、ドキュメント領域の外側でパレットの背景が表示されるかどうかを指定します
true に設定すると、プレーンテキスト編集フィールドは、テキストドキュメントで覆われていないビューポート領域にパレットの背景を描画します。一方、false に設定した場合は描画されません。この機能により、ユーザーは、パレットの基本色で描画されたドキュメント領域と、ドキュメントで覆われていない空白領域とを視覚的に区別できるようになります。
デフォルト値は false です。
アクセス関数:
| bool | backgroundVisible() const |
| void | setBackgroundVisible(bool visible) |
[read-only] blockCount : int
このプロパティには、ドキュメント内のテキストブロックの数が格納されます。
デフォルトでは、空のドキュメントにおいて、このプロパティの値は 1 になります。
アクセス関数:
| int | blockCount() const |
centerOnScroll : bool
このプロパティは、カーソルを画面の中央に配置するかどうかを指定します
true に設定すると、プレーンテキストエディットは、カーソルがビューポートの中央に見えるように、ドキュメントを垂直方向にスクロールします。これにより、テキストエディットがドキュメントの末尾より下までスクロールすることも可能になります。一方、false に設定された場合、プレーンテキストエディットは、カーソルが見えるようにするために、可能な限り最小限のスクロール量でスクロールします。appendPlainText() を通じて追加される改行行に対しても、同じアルゴリズムが適用されます。
デフォルトは false です。
アクセス関数:
| bool | centerOnScroll() const |
| void | setCenterOnScroll(bool enabled) |
centerCursor() およびensureCursorVisible()も参照してください 。
cursorWidth : int
このプロパティは、カーソルの幅をピクセル単位で指定します。デフォルト値は 1 です。
アクセス関数:
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
documentTitle : QString
このプロパティには、テキストから解析されたドキュメントのタイトルが格納されます。
デフォルトでは、このプロパティには空の文字列が含まれます。
アクセス関数:
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
lineWrapMode : LineWrapMode
このプロパティは、行の折り返しモードを指定します
デフォルトのモードは `WidgetWidth ` であり、これによりテキストエディタの右端で単語の折り返しが行われます。折り返しは空白の位置で行われ、単語はそのままの形で保持されます。単語の途中で折り返しを行いたい場合は、`setWordWrapMode()` を使用してください。
アクセス関数:
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
maximumBlockCount : int
このプロパティは、ドキュメント内のブロックの最大数を指定します。
ドキュメントに含まれるブロックの最大数を指定します。ドキュメント内のブロック数がこのプロパティで指定された数を超える場合、ドキュメントの先頭からブロックが削除されます。
負の値または 0 を指定すると、ドキュメントにブロックを無制限に含めることができることを示します。
デフォルト値は 0 です。
このプロパティを設定すると、その制限がドキュメントの内容に即座に適用されることに注意してください。また、このプロパティを設定すると、元に戻す/やり直し履歴が無効になります。
アクセス関数:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
overwriteMode : bool
このプロパティは、ユーザーが入力したテキストが既存のテキストを上書きするかどうかを指定します
多くのテキストエディタと同様に、プレーンテキストエディタウィジェットは、ユーザーが入力した新しいテキストを既存のテキストに挿入するか、上書きするか設定できます。
このプロパティが `true` に設定されている場合、既存のテキストは新しいテキストによって 1 文字ずつ上書きされます。そうでない場合、テキストはカーソル位置に挿入され、既存のテキストが押し出されます。
デフォルトでは、このプロパティはfalse に設定されています(新しいテキストは既存のテキストを上書きしません)。
アクセス関数:
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
このプロパティには、エディタのプレースホルダーテキストが格納されます
このプロパティを設定すると、document() が空である限り、エディタにグレー表示のプレースホルダーテキストが表示されます。
デフォルトでは、このプロパティには空の文字列が格納されています。
アクセス関数:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
document()も参照してください 。
plainText : QString
このプロパティは、プレーンテキストエディタのコンテンツを取得および設定します。このプロパティが設定されると、以前のコンテンツは削除され、元に戻す/やり直し履歴がリセットされます。また、textCursor()がすでにドキュメントの先頭にある場合を除き、currentCharFormat()もリセットされます。
デフォルトでは、内容のないエディタの場合、このプロパティには空の文字列が格納されます。
アクセス関数:
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
通知シグナル:
| void | textChanged() |
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
ラベルにテキストが表示される場合、ユーザー入力に対してラベルがどのように反応するかを指定します。
フラグに `Qt::LinksAccessibleByKeyboard ` または `Qt::TextSelectableByKeyboard ` のいずれかが含まれている場合、フォーカスポリシーも自動的に `Qt::ClickFocus` に設定されます。
デフォルト値は、QPlainTextEdit が読み取り専用か編集可能かによって異なります。
アクセス関数:
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
このプロパティは、元に戻すおよびやり直しが有効かどうかを表します
このプロパティが true であり、かつ元に戻せる(またはやり直せる)操作が存在する場合にのみ、ユーザーは操作を元に戻したりやり直したりできます。
デフォルトでは、このプロパティの値はtrue です。
アクセス関数:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
このプロパティは、QPlainTextEdit が単語単位でテキストを折り返す際に使用するモードを指定します。
デフォルトでは、このプロパティは `QTextOption::WrapAtWordBoundaryOrAnywhere` に設定されています。
アクセス関数:
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
「QTextOption::WrapMode」も参照してください 。
メンバー関数のドキュメント
[explicit] QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)
親要素としてparent を持つ、空のQPlainTextEditを構築します。
[explicit] QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
親要素としてparent を持つQPlainTextEditを生成します。このテキスト編集フィールドには、プレーンテキストtext が表示されます。
[virtual noexcept] QPlainTextEdit::~QPlainTextEdit()
デストラクタ。
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
位置pos にあるアンカーの参照を返します。その位置にアンカーが存在しない場合は、空の文字列を返します。
[slot] void QPlainTextEdit::appendHtml(const QString &html)
テキスト編集の末尾に、html を含む新しい段落を追加します。
[slot] void QPlainTextEdit::appendPlainText(const QString &text)
テキスト編集内容の最後に、text を含む新しい段落を追加します。
appendHtml()も参照してください 。
[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
テキスト「block 」の境界矩形を、コンテンツ座標系で返します。ビューポート上の視覚座標を取得するには、contentOffset() を使用してこの矩形を平行移動させてください。
firstVisibleBlock() およびblockBoundingRect()も参照してください 。
[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
テキスト「block 」の囲み矩形を、ブロック独自の座標系で返します。
blockBoundingGeometry()も参照してください 。
[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)
このシグナルは、ブロック数が変更されるたびに発火します。新しいブロック数は、newBlockCount に引数として渡されます。
[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
この関数は、source で指定された MIME データオブジェクトの内容をデコードしてドキュメントに挿入できる場合、true を返します。たとえば、ドラッグ操作中にマウスがこのウィジェット内に進入し、そのドラッグを受け入れることができるかどうかを判断する必要がある場合などに、この関数が呼び出されます。
bool QPlainTextEdit::canPaste() const
クリップボードからテキストエディットにテキストを貼り付けることができるかどうかを返します。
[slot] void QPlainTextEdit::centerCursor()
ドキュメントをスクロールして、カーソルを縦方向に中央に合わせます。
ensureCursorVisible() およびcenterOnScrollも参照してください 。
[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
QFrame::changeEvent(QEvent *ev) を再実装します。
[slot] void QPlainTextEdit::clear()
テキスト編集フィールド内のテキストをすべて削除します。
注:
- 元に戻す/やり直し履歴もクリアされます。
- currentCharFormat textCursor()がすでにドキュメントの先頭にある場合を除き、()はリセットされます。
cut() およびsetPlainText()も参照してください 。
[protected] QPointF QPlainTextEdit::contentOffset() const
コンテンツの起点座標をビューポート座標で返します。
プレーンテキスト編集フィールドのコンテンツの原点は、常に最初に表示されるテキストブロックの左上隅です。 テキストが水平方向にスクロールされている場合、または最初に表示されるブロックが画面から部分的にスクロールされてしまっている場合(つまり、表示されているテキストが最初に表示されるブロックの最初の行から始まっていない場合)、あるいは最初に表示されるブロックが最初のブロックであり、エディタが余白を表示している場合、コンテンツのオフセットは (0,0) とは異なります。
firstVisibleBlock()、horizontalScrollBar()、およびverticalScrollBar()も参照してください 。
[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e) を再実装します。
createStandardContextMenu() で作成された標準のコンテキストメニューを表示します。
テキスト編集にコンテキストメニューを表示させたくない場合は、そのcontextMenuPolicy をQt::NoContextMenu に設定できます。コンテキストメニューをカスタマイズしたい場合は、この関数を再実装してください。標準のコンテキストメニューを拡張したい場合は、この関数を再実装し、createStandardContextMenu()を呼び出して、返されたメニューを拡張してください。
イベントに関する情報は、event オブジェクトを通じて渡されます。
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}[slot] void QPlainTextEdit::copy()
選択したテキストをクリップボードにコピーします。
copyAvailable()も参照してください 。
[signal] void QPlainTextEdit::copyAvailable(bool yes)
このシグナルは、テキスト編集フィールドでテキストが選択されたり、選択が解除されたりしたときに発せられます。
テキストが選択されると、このシグナルはyes がtrueに設定された状態で発火します。テキストが選択されていない場合、または選択されたテキストの選択が解除された場合、このシグナルはyes がfalseに設定された状態で発火します。
yes がtrueの場合、copy()を使用して、選択範囲をクリップボードにコピーできます。yes がfalseの場合、copy()は何も行いません。
selectionChanged()も参照してください 。
[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const
この関数は、テキストエディタの現在の選択範囲の内容を表す新しいMIMEデータオブジェクトを返します。この関数は、選択範囲を新しいQMimeData オブジェクトにカプセル化する必要があるときに呼び出されます。たとえば、ドラッグ&ドロップ操作が開始されたときや、データがクリップボードにコピーされたときなどです。
この関数を再実装する場合、返されるQMimeData オブジェクトの所有権は呼び出し元に引き継がれる点に注意してください。選択範囲は、textCursor()関数を使用して取得できます。
QMenu *QPlainTextEdit::createStandardContextMenu()
この関数は、ユーザーがテキスト編集フィールドを右クリックした際に表示される標準のコンテキストメニューを作成します。これは、デフォルトのcontextMenuEvent()ハンドラから呼び出されます。ポップアップメニューの所有権は呼び出し元に引き継がれます。
代わりに、createStandardContextMenu(QPoint) バージョンを使用することをお勧めします。これにより、ユーザーがクリックした位置に応じたアクションが有効になります。
QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
この関数は、ユーザーがテキスト編集フィールドをマウスの右ボタンでクリックした際に表示される標準のコンテキストメニューを作成します。この関数は、デフォルトのcontextMenuEvent()ハンドラから呼び出され、マウスクリックが発生した位置を表すドキュメント座標のposition を受け取ります。これにより、ユーザーがクリックした位置に応じた操作を有効にすることができます。ポップアップメニューの所有権は呼び出し元に譲渡されます。
QTextCharFormat QPlainTextEdit::currentCharFormat() const
新しいテキストを挿入する際に使用される文字形式を返します。
setCurrentCharFormat()も参照してください 。
QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const
pos の位置(ビューポート座標)にあるQTextCursor を返します。
[signal] void QPlainTextEdit::cursorPositionChanged()
この信号は、カーソルの位置が変化するたびに送信されます。
QRect QPlainTextEdit::cursorRect() const
テキスト編集フィールドのカーソルを含む矩形(ビューポート座標系)を返します。
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
cursor を含む長方形(ビューポート座標系)を返します。
[slot] void QPlainTextEdit::cut()
選択したテキストをクリップボードにコピーし、テキスト編集フィールドから削除します。
選択されたテキストがない場合は、何も起こりません。
QTextDocument *QPlainTextEdit::document() const
基となるドキュメントへのポインタを返します。
setDocument()も参照してください 。
[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event) を再実装します。
[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event) を再実装します。
[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event) を再実装します。
[override virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)
QAbstractScrollArea::dropEvent (QDropEvent *event)を再実装します。
void QPlainTextEdit::ensureCursorVisible()
必要に応じてテキスト編集フィールドをスクロールし、カーソルが表示されていることを確認します。
centerCursor() およびcenterOnScrollも参照してください 。
QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const
以前に設定された追加の選択項目を返します。
setExtraSelections()も参照してください 。
bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
指定されたoptions を使用して、文字列exp の次の出現箇所を検索します。exp が見つかった場合はtrue を返し、カーソルを一致箇所に合わせます。それ以外の場合はfalse を返します。
bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
指定されたoptions を使用して、正規表現exp に一致する次の出現箇所を検索します。
一致が見つかった場合は `true ` を返し、カーソル位置をその一致箇所に変更します。一致が見つからない場合は `false` を返します。
警告: 歴史的な理由により 、exp に設定された大文字小文字の区別オプションは無視されます。代わりに、options を使用して、検索が大文字小文字を区別するかどうかが決定されます。
これはオーバーロードされた関数です。
[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const
最初に表示されるブロックを返します。
blockBoundingRect()も参照してください 。
[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)
QWidget::focusInEvent(QFocusEvent *event) を再実装します。
[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)
QWidget::focusNextPrevChild (bool next)を再実装します。
[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
QWidget::focusOutEvent(QFocusEvent *event) を再実装します。
[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
viewport() のペイントコンテキストを返します。これは、paintEvent() を再実装する場合にのみ有用です。
[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
QWidget::inputMethodEvent(QInputMethodEvent *event) を再実装しています。
[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
QWidget::inputMethodQuery (Qt::InputMethodQuery query)const を再実装します。
[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
この関数は、source で指定されたMIMEデータオブジェクトの内容を、現在のカーソル位置にあるテキスト編集フィールドに挿入します。この関数は、クリップボードからの貼り付け操作の結果としてテキストが挿入されたとき、またはテキスト編集フィールドがドラッグ&ドロップ操作からのデータを受け入れたときに呼び出されます。
[slot] void QPlainTextEdit::insertPlainText(const QString &text)
現在のカーソル位置に「text 」を挿入する便利なスロットです。
これは、
edit->textCursor().insertText(text);[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
QAbstractScrollArea::keyPressEvent(QKeyEvent *e) を再実装しています。
[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
QWidget::keyReleaseEvent(QKeyEvent *event) を再実装します。
[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)
指定された `type ` および `name` で指定されたリソースを読み込みます。
この関数は、QTextDocument::loadResource() の拡張機能です。
QTextDocument::loadResource()も参照してください 。
void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
modifier で指定されたプロパティを、エディタのカーソルに対してQTextCursor::mergeCharFormat を呼び出すことで、現在の文字書式に統合します。エディタに選択範囲がある場合、modifier のプロパティは選択範囲に直接適用されます。
QTextCursor::mergeCharFormat()も参照してください 。
[signal] void QPlainTextEdit::modificationChanged(bool changed)
このシグナルは、ドキュメントの内容が変更され、その変更が変更状態に影響を与えるたびに発生します。changed がtrueの場合、ドキュメントは変更されています。そうでない場合はfalseとなります。
たとえば、ドキュメントに対して setModified(false) を呼び出した後にテキストを挿入すると、このシグナルが発火します。その操作を元に戻して、ドキュメントを元の変更されていない状態に戻すと、このシグナルは再び発火します。
[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e) を再実装します。
[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e) を再実装します。
[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
QAbstractScrollArea::mousePressEvent(QMouseEvent *e) を再実装します。
[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e) を再実装します。
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
指定されたoperation を実行して、カーソルを移動させます。
mode がQTextCursor::KeepAnchor の場合、カーソルが移動した先のテキストが選択されます。これは、ユーザーがShiftキーを押したままカーソルキーでカーソルを移動したときと同じ効果です。
QTextCursor::movePosition()も参照してください 。
[override virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)
QAbstractScrollArea::paintEvent(QPaintEvent *event) を再実装します。
[slot] void QPlainTextEdit::paste()
クリップボード内のテキストを、現在のカーソル位置にあるテキスト編集欄に貼り付けます。
クリップボードにテキストがない場合は、何も起こりません。
この関数の動作、すなわちQPlainTextEdit が貼り付ける内容や貼り付け方法を変更するには、仮想関数canInsertFromMimeData()およびinsertFromMimeData()を再実装してください。
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
テキストエディタのドキュメントを、指定されたprinter に出力するための便利な関数です。これは、ドキュメントに対して直接printメソッドを呼び出すのと同じですが、この関数ではQPrinter::Selectionを印刷範囲として指定することも可能です。
QTextDocument::print()も参照してください 。
[slot] void QPlainTextEdit::redo()
直前の操作をやり直します。
やり直す操作がない場合、つまり元に戻す/やり直す履歴にやり直しステップがない場合は、何も起こりません。
undo()も参照してください 。
[signal] void QPlainTextEdit::redoAvailable(bool available)
このシグナルは、リドゥ操作が利用可能になったとき(available がtrueの場合)または利用不可能になったとき(available がfalseの場合)に発火します。
[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
QAbstractScrollArea::resizeEvent(QResizeEvent *event) を再実装します。
[override virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)
QAbstractScrollArea::scrollContentsBy(int dx, int dy) を再実装しています。
[slot] void QPlainTextEdit::selectAll()
すべてのテキストを選択します。
copy()、cut()、およびtextCursor()も参照してください 。
[signal] void QPlainTextEdit::selectionChanged()
このシグナルは、選択内容が変更されるたびに発せられます。
copyAvailable()も参照してください 。
void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
エディタのカーソルで `QTextCursor::setCharFormat()` を呼び出すことにより、format に新しいテキストを挿入する際に使用する文字形式を設定します。エディタに選択範囲がある場合、その選択範囲に文字形式が直接適用されます。
currentCharFormat()も参照してください 。
void QPlainTextEdit::setDocument(QTextDocument *document)
document をテキストエディタの新しいドキュメントに設定します。
指定されたドキュメントの親である `QObject ` は、引き続きそのオブジェクトの所有者となります。現在のドキュメントがテキストエディタの子である場合は、そのドキュメントは削除されます。
ドキュメントは、QPlainTextDocumentLayout を継承するドキュメントレイアウトを持っている必要があります(QTextDocument::setDocumentLayout()を参照)。
document()も参照してください 。
void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
この関数を使用すると、selections で指定された色で、ドキュメント内の特定の領域を一時的にマークすることができます。これは、例えばプログラミングエディタにおいて、ブレークポイントの存在を示すために、テキストの行全体を特定の背景色でマークする場合などに役立ちます。
QTextEdit::ExtraSelection およびextraSelections()も参照してください 。
[slot] void QPlainTextEdit::setPlainText(const QString &text)
テキスト編集フィールドのテキストを「text 」という文字列に変更します。それまでのテキストはすべて削除されます。
text はプレーンテキストとして解釈されます。
注:
- 元に戻す/やり直し履歴もクリアされます。
- currentCharFormat textCursor()がすでにドキュメントの先頭にある場合を除き、()はリセットされます。
注: プロパティ `plainText`のセッター 関数です。
toPlainText()も参照してください 。
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
cursor の表示状態を設定します。
textCursor()も参照してください 。
[override virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)
QWidget::showEvent(QShowEvent *event) を再実装します。
[signal] void QPlainTextEdit::textChanged()
このシグナルは、ドキュメントの内容が変更されるたびに発生します。たとえば、テキストが挿入または削除されたとき、あるいは書式が適用されたときなどです。
注: プロパティ `plainText` に対する通知 シグナルです。
QTextCursor QPlainTextEdit::textCursor() const
現在表示されているカーソルを表すQTextCursor のコピーを返します。返されたカーソルへの変更は、QPlainTextEdit のカーソルには影響しないことに注意してください。表示されているカーソルを更新するには、setTextCursor() を使用してください。
setTextCursor()も参照してください 。
QString QPlainTextEdit::toPlainText() const
テキストエディットのテキストをプレーンテキストとして返します。
注: プロパティ `plainText`のゲッター 関数です。
関連項目: QPlainTextEdit::setPlainText()。
[slot] void QPlainTextEdit::undo()
直前の操作を取り消します。
元に戻す操作がない場合、つまり元に戻す/やり直し履歴に元に戻すステップがない場合は、何も起こりません。
redo()も参照してください 。
[signal] void QPlainTextEdit::undoAvailable(bool available)
このシグナルは、元に戻す操作が可能になったとき(available がtrueの場合)または不可能になったとき(available がfalseの場合)に発火します。
[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
このシグナルは、テキストドキュメントが指定されたrect の更新を必要とする際に発火します。テキストがスクロールされた場合、rect はビューポート領域全体をカバーします。テキストが垂直方向にスクロールされた場合、dy には、ビューポートがスクロールされたピクセル数が格納されます。
このシグナルの目的は、行番号やブレークポイント、その他の追加情報を表示するなど、プレーンテキスト編集のサブクラスにおける追加ウィジェットをサポートすることです。
[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
QAbstractScrollArea::wheelEvent(QWheelEvent *e) の再実装です。
[slot] void QPlainTextEdit::zoomIn(int range = 1)
基本フォントサイズをrange ポイント大きくし、すべてのフォントサイズを新しいサイズに合わせて再計算することで、テキストを拡大表示します。この操作では、画像のサイズは変更されません。
zoomOut()も参照してください 。
[slot] void QPlainTextEdit::zoomOut(int range = 1)
ベースのフォントサイズをrange ポイント小さくし、すべてのフォントサイズを新しいサイズに合わせて再計算することで、テキストをズームアウトします。これにより、画像のサイズは変更されません。
zoomIn()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.