QPlainTextEdit Class
QPlainTextEditクラスは、プレーンテキストを編集・表示するためのウィジェットを提供します。詳細...
Header: | #include <QPlainTextEdit> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | 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文字移動する。 |
上矢印 | カーソルを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 |
プロパティ Documentation
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
です。
アクセス関数:
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)
親を持つ 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)
再リンプルメント: (QDragEnterEvent *event):QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event)。
[override virtual protected]
void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
再リンプルメント: (QDragLeaveEvent *event):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)
再リンプルメント: (bool next):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 が真の場合、ドキュメントは変更されたことになり、そうでない場合は偽になります。
たとえば、ドキュメントで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)
再リンプルメント: (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)
このシグナルは、やり直し操作が利用可能になる (available が真)、または利用不可能になる (available が偽)たびに発せられます。
[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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。