QPlainTextEdit Class
QPlainTextEdit 클래스는 일반 텍스트를 편집하고 표시하는 데 사용되는 위젯을 제공합니다. 더 보기...
Header: | #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는 단락과 문자에 대해 작동합니다. 단락은 위젯의 너비에 맞게 단어로 줄 바꿈된 형식화된 문자열입니다. 일반 텍스트를 읽을 때 기본적으로 하나의 줄 바꿈은 단락을 나타냅니다. 문서는 0개 이상의 단락으로 구성됩니다. 단락은 하드 줄 바꿈으로 구분됩니다. 단락 내의 각 문자에는 글꼴 및 색상과 같은 고유한 속성이 있습니다.
QPlainTextEdit의 마우스 커서 모양은 기본적으로 Qt::IBeamCursor 입니다. viewport ()의 커서 속성을 통해 변경할 수 있습니다.
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 | 한 줄 위로 이동합니다. |
Qt::DownArrow | 한 줄 아래로 이동합니다. |
Qt::LeftArrow | 한 문자를 왼쪽으로 이동합니다. |
Qt::RightArrow | 한 글자 오른쪽으로 이동합니다. |
페이지 위로 | 한 페이지(뷰포트) 위로 이동합니다. |
페이지다운 | 한 (뷰포트) 페이지를 아래로 이동합니다. |
홈 | 텍스트의 시작 부분으로 이동합니다. |
끝 | 텍스트의 끝으로 이동합니다. |
Alt+휠 | 페이지를 가로로 스크롤합니다(휠은 마우스 휠). |
Ctrl+휠 | 텍스트를 확대/축소합니다. |
Ctrl+A | 모든 텍스트를 선택합니다. |
QPlainTextEdit를 편집기로 사용
QPlainTextEdit를 표시 위젯으로 사용하는 것에 대한 모든 정보는 여기에도 적용됩니다.
텍스트 선택은 선택 영역 생성, 텍스트 내용 검색 또는 선택 영역 삭제 기능을 제공하는 QTextCursor 클래스에서 처리합니다. textCursor () 메서드를 사용하여 사용자에게 보이는 커서에 해당하는 객체를 검색할 수 있습니다. QPlainTextEdit에서 선택 영역을 설정하려면 QTextCursor 객체에 선택 영역을 만든 다음 setCursor()를 사용하여 해당 커서를 보이는 커서로 만듭니다. 선택 영역은 copy()를 사용하여 클립보드에 복사하거나 cut()를 사용하여 클립보드에 잘라낼 수 있습니다. selectAll ()를 사용하여 전체 텍스트를 선택할 수 있습니다.
QPlainTextEdit는 document() 메서드를 사용하여 검색할 수 있는 QTextDocument 객체를 보유합니다. setDocument ()를 사용하여 고유한 문서 객체를 설정할 수도 있습니다. QTextDocument 텍스트가 변경되면 textChanged() 신호를 보내며, 텍스트가 로드된 이후 또는 false를 인수로 하여 setModified를 마지막으로 호출한 이후 수정된 경우 true를 반환하는 isModified() 함수도 제공합니다. 또한 실행 취소 및 다시 실행을 위한 메서드도 제공합니다.
구문 강조 표시
QTextEdit 과 마찬가지로 QPlainTextEdit는 QSyntaxHighlighter 과 함께 작동합니다.
키 바인딩 편집
편집을 위해 구현된 키 바인딩 목록입니다:
키 프레스 | Action |
---|---|
백스페이스 | 커서 왼쪽에 있는 문자를 삭제합니다. |
Delete | 커서 오른쪽에 있는 문자를 삭제합니다. |
Ctrl+C | 선택한 텍스트를 클립보드에 복사합니다. |
Ctrl+삽입 | 선택한 텍스트를 클립보드에 복사합니다. |
Ctrl+K | 줄 끝으로 삭제합니다. |
Ctrl+V | 클립보드 텍스트를 텍스트 편집에 붙여넣습니다. |
Shift+삽입 | 클립보드 텍스트를 텍스트 편집에 붙여넣습니다. |
Ctrl+X | 선택한 텍스트를 삭제하고 클립보드에 복사합니다. |
Shift+삭제 | 선택한 텍스트를 삭제하고 클립보드에 복사합니다. |
Ctrl+Z | 마지막 작업을 실행 취소합니다. |
Ctrl+Y | 마지막 작업을 다시 실행합니다. |
왼쪽 화살표 | 커서를 한 글자 왼쪽으로 이동합니다. |
Ctrl+왼쪽 화살표 | 커서를 한 단어 왼쪽으로 이동합니다. |
오른쪽 화살표 | 커서를 한 글자 오른쪽으로 이동합니다. |
Ctrl+오른쪽 화살표 | 커서를 한 단어 오른쪽으로 이동합니다. |
위쪽 화살표 | 커서를 한 줄 위로 이동합니다. |
Ctrl+위쪽 화살표 | 커서를 한 단어 위로 이동합니다. |
아래쪽 화살표 | 커서를 한 줄 아래로 이동합니다. |
Ctrl+아래 화살표 | 커서를 한 단어 아래로 이동합니다. |
PageUp | 커서를 한 페이지 위로 이동합니다. |
PageDown | 커서를 한 페이지 아래로 이동합니다. |
홈 | 커서를 줄의 시작 부분으로 이동합니다. |
Ctrl+Home | 커서를 텍스트의 시작 부분으로 이동합니다. |
End | 커서를 줄의 끝으로 이동합니다. |
Ctrl+끝 | 커서를 텍스트의 끝으로 이동합니다. |
Alt+휠 | 페이지를 가로로 스크롤합니다(휠은 마우스 휠). |
Ctrl+휠 | 텍스트를 확대/축소합니다. |
텍스트를 선택(표시)하려면 Shift 키를 누른 상태에서 이동 키 중 하나를 누릅니다(예: Shift+오른쪽 화살표는 오른쪽 문자를 선택하고, Shift+Ctrl+오른쪽 화살표는 오른쪽 단어를 선택하는 등의 키 입력을 누릅니다).
QTextEdit와의 차이점
QPlainTextEdit는 QTextEdit 및 QTextDocument 의 기반이 되는 대부분의 기술을 사용하여 구현된 얇은 클래스입니다. QTextEdit 에 비해 성능상의 이점은 대부분 텍스트 문서에 QPlainTextDocumentLayout 라는 다른 단순화된 텍스트 레이아웃을 사용하는 데서 비롯됩니다( QTextDocument::setDocumentLayout() 참조). 일반 텍스트 문서 레이아웃은 표나 임베디드 프레임을 지원하지 않으며, 픽셀 단위의 정확한 높이 계산을 각각 한 줄씩 단락 단위로 스크롤하는 방식으로 대체합니다. 따라서 훨씬 더 큰 문서를 처리하면서도 줄 바꿈이 활성화된 상태에서 편집기의 크기를 실시간으로 조정할 수 있습니다. 또한 빠른 로그 뷰어를 만들 수 있습니다( setMaximumBlockCount() 참조).
{구문 하이라이터 예시}, {풍부한 텍스트 처리}
QTextDocument 및 QTextCursor도 참조하세요 .
속성 문서
backgroundVisible : bool
이 속성은 팔레트 배경이 문서 영역 외부에 표시되는지 여부를 보유합니다.
참으로 설정하면 일반 텍스트 편집 시 텍스트 문서가 덮지 않는 뷰포트 영역에 팔레트 배경을 그립니다. 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 값은 문서에 블록을 무제한으로 포함할 수 있음을 지정합니다.
기본값은 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
이 속성은 텍스트 편집이 읽기 전용인지 여부를 나타냅니다.
읽기 전용 텍스트 편집에서는 사용자가 텍스트를 탐색하고 텍스트를 선택할 수만 있으며 텍스트를 수정할 수 없습니다.
이 속성의 기본값은 거짓입니다.
액세스 기능:
bool | isReadOnly() const |
void | setReadOnly(bool ro) |
tabChangesFocus : bool
이 속성은 Tab 포커스를 변경하거나 입력으로 허용할지 여부를 보유합니다.
경우에 따라 텍스트 편집에서 사용자가 표를 입력하거나 Tab 키를 사용하여 들여쓰기를 변경할 수 없도록 해야 하는 경우가 있는데, 이는 포커스 체인을 깨뜨리기 때문입니다. 기본값은 거짓입니다.
액세스 기능:
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)
부모 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 을 참으로 설정하면 이 신호가 전송됩니다. 텍스트가 선택되지 않았거나 선택된 텍스트가 선택 취소된 경우 이 신호는 yes 이 거짓으로 설정된 상태로 전송됩니다.
yes 가 참이면 copy()를 사용하여 선택 내용을 클립보드에 복사할 수 있습니다. yes 이 거짓이면 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 * 이벤트).
[override virtual protected]
void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
다시 구현합니다: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent * 이벤트).
[override virtual protected]
void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
다시 구현합니다: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent * 이벤트).
[override virtual protected]
void QPlainTextEdit::dropEvent(QDropEvent *e)
다시 구현합니다: QAbstractScrollArea::dropEvent(QDropEvent * 이벤트).
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 * 이벤트).
[override virtual protected]
bool QPlainTextEdit::focusNextPrevChild(bool next)
다시 구현합니다: QWidget::focusNextPrevChild(다음 부울).
[override virtual protected]
void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
다시 구현합니다: QWidget::focusOutEvent(QFocusEvent * 이벤트).
[protected]
QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
paintEvent()을 다시 구현할 때만 유용한 viewport()에 대한 페인트 컨텍스트를 반환합니다.
[override virtual protected]
void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
다시 구현합니다: QWidget::inputMethodEvent(Q입력메소드이벤트 *이벤트).
[override virtual]
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
재구현합니다: QWidget::inputMethodQuery(Qt::InputMethodQuery 쿼리) 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 * 이벤트).
[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)
다시 구현합니다: 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 * 이벤트).
[slot]
void QPlainTextEdit::paste()
클립보드의 텍스트를 현재 커서 위치의 텍스트 수정란에 붙여넣습니다.
클립보드에 텍스트가 없으면 아무 일도 일어나지 않습니다.
이 함수의 동작을 변경하려면(즉, QPlainTextEdit 붙여넣을 수 있는 내용과 붙여넣는 방법을 수정하려면) 가상 canInsertFromMimeData() 및 insertFromMimeData() 함수를 다시 구현합니다.
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
텍스트 편집 문서를 지정된 printer 으로 인쇄하는 편의 함수입니다. 이 함수는 인쇄 범위로 QPrinter::Selection도 지원한다는 점을 제외하면 문서에서 직접 인쇄 메서드를 호출하는 것과 동일합니다.
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 * 이벤트).
[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 * 이벤트).
[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 참) 사용할 수 없게 될 때마다(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.