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) |
保護された関数
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つの改行が段落を意味します。文書は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文字移動します。 |
ページアップ | ビューポートを1ページ分上に移動します。 |
PageDown | 1ページ分(ビューポート)下に移動します。 |
ホーム | テキストの先頭に移動します。 |
終了 | テキストの末尾に移動します。 |
Alt+ホイール | ページを水平方向にスクロールする(Wheelはマウスのホイール)。 |
Ctrl+ホイール | テキストをズームする。 |
Ctrl+A | すべてのテキストを選択します。 |
エディターとしてQPlainTextEditを使う
QPlainTextEditを表示ウィジェットとして使うことについての情報は、すべてここでも適用されます。
テキストの選択は、QTextCursor クラスによって処理されます。 クラスは、選択を作成したり、テキストの内容を取得したり、選択を削除したりする機能を提供します。textCursor ()メソッドを使用すると、ユーザーが見えるカーソルに対応するオブジェクトを取得できます。QPlainTextEditで選択範囲を設定したい場合は、QTextCursor オブジェクトに選択範囲を作成し、setCursor()を使用してそのカーソルを可視カーソルにします。選択範囲はcopy()でクリップボードにコピーしたり、cut()でクリップボードにカットすることができます。テキスト全体を選択するには、selectAll() を使用します。
QPlainTextEdit はQTextDocument オブジェクトを保持しており、document() メソッドで取得できます。また、setDocument() を使って独自のドキュメント・オブジェクトを設定することもできます。QTextDocument は、テキストが変更されるとtextChanged() シグナルを発します。また、isModified() 関数も提供しており、テキストが読み込まれてから、または最後に setModified を false を引数として呼び出してから変更された場合に true を返します。さらに、アンドゥとリドゥのメソッドも提供します。
構文のハイライト
QTextEdit と同様、QPlainTextEdit はQSyntaxHighlighter と共に動作する。
キー・バインディングの編集
編集のために実装されているキーバインディングのリストです:
キー入力 | アクション |
---|---|
バックスペース | カーソルの左側の文字を削除する。 |
削除 | カーソルの右側の文字を削除する。 |
Ctrl+C | 選択したテキストをクリップボードにコピーします。 |
Ctrl+Insert | 選択したテキストをクリップボードにコピーする。 |
Ctrl+K | 行末まで削除する。 |
Ctrl+V | クリップボードのテキストをテキスト編集に貼り付けます。 |
Shift+挿入 | クリップボードのテキストをテキストエディットに貼り付けます。 |
Ctrl+X | 選択したテキストを削除し、クリップボードにコピーします。 |
Shift+削除 | 選択されているテキストを削除し、クリップボードにコピーします。 |
Ctrl+Z | 直前の操作を取り消します。 |
Ctrl+Y | 直前の操作をやり直します。 |
左矢印 | カーソルを左に1文字移動する。 |
Ctrl+左矢印 | カーソルを左に1ワード移動する。 |
右矢印 | カーソルを右に1文字移動する。 |
Ctrl+RightArrow | カーソルを右に一文字移動する。 |
上矢印 | カーソルを1行上に移動する。 |
Ctrl+UpArrow | カーソルを1ワード上に移動する。 |
下矢印 | カーソルを1行下に移動する。 |
Ctrl+下矢印 | カーソルを 1 単語下に移動する。 |
ページアップ | カーソルを1ページ上に移動する。 |
PageDown | カーソルを1ページ下に移動します。 |
ホーム | カーソルを行頭に移動する。 |
Ctrl+Home | カーソルをテキストの先頭に移動する。 |
End | カーソルを行末に移動する。 |
Ctrl+End | カーソルを行末に移動する。 |
Alt+ホイール | ページを水平方向にスクロールする(Wheelはマウスホイール)。 |
Ctrl+ホイール | テキストをズームします。 |
例えば、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 : const 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です。
このプロパティを設定すると、ドキュメントの内容に直ちに制限が適用されることに注意してください。このプロパティを設定すると、アンドゥのやり直し履歴も無効になります。
アクセス関数:
int | maximumBlockCount() const |
void | setMaximumBlockCount(int maximum) |
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()がすでにドキュメントの先頭にある場合を除き、()もリセットされます。
デフォルトでは、内容のないエディタの場合、このプロパティは空文字列を含みます。
アクセス関数
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)
空の QPlainTextEdit を親parent で構築します。
[explicit]
QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
親を持つQPlainTextEditを構築するparent 。テキスト編集はプレーンテキストを表示します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
テキストをクリップボードからtexteditにペーストできるかどうかを返します。
[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 にマッチする次の出現箇所を検索します。
false
マッチするものが見つかればtrue
を返し、マッチするものを選択するようにカーソルを変更します。
それ以外の場合は を返す: 歴史的な理由により、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)
エディターのカーソル上でQTextCursor::mergeCharFormat を呼び出すことにより、modifier で指定されたプロパティを現在の文字フォーマットにマージします。エディタに選択範囲がある場合は、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 に印刷するための便利な関数です。この関数は印刷範囲としてQPrinter::Selectionもサポートしていることを除けば、ドキュメントに対して直接printメソッドを呼び出すのと同じです。
QTextDocument::print()も参照してください 。
[slot]
void QPlainTextEdit::redo()
最後の操作をやり直す。
やり直す操作がない場合、つまり元に戻す/やり直しの履歴にやり直しのステップがない場合は、何も起こりません。
undo()も参照してください 。
[signal]
void QPlainTextEdit::redoAvailable(bool available)
このシグナルは、REDOオペレーションが利用可能になる(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 のコピーを返す。setTextCursor返されたカーソルの変更は、QPlainTextEdit のカーソルには影響しないことに注意すること。
setTextCursor()も参照のこと 。
QString QPlainTextEdit::toPlainText() const
テキスト編集のテキストをプレーンテキストとして返す。
注: プロパティplainText のゲッター関数です。
QPlainTextEdit::setPlainText()も参照してください 。
[slot]
void QPlainTextEdit::undo()
最後の操作を取り消す。
元に戻す操作がない場合、つまり元に戻す/やり直しの履歴に元に戻すステップがない場合は、何も起こりません。
redo()も参照してください 。
[signal]
void QPlainTextEdit::undoAvailable(bool available)
このシグナルは、アンドゥ操作が利用可能になったり(available が真)、利用できなくなったり(available が偽)するたびに発せられる。
[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()も参照 。
© 2025 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.