QLineEdit Class
QLineEdit 위젯은 한 줄 텍스트 편집기입니다. 더 보기...
헤더: | #include <QLineEdit> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
상속합니다: | QWidget |
공용 유형
enum | ActionPosition { LeadingPosition, TrailingPosition } |
enum | EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit } |
속성
|
|
공용 함수
QLineEdit(QWidget *parent = nullptr) | |
QLineEdit(const QString &contents, QWidget *parent = nullptr) | |
virtual | ~QLineEdit() |
void | addAction(QAction *action, QLineEdit::ActionPosition position) |
QAction * | addAction(const QIcon &icon, QLineEdit::ActionPosition position) |
Qt::Alignment | alignment() const |
void | backspace() |
QCompleter * | completer() const |
QMenu * | createStandardContextMenu() |
void | cursorBackward(bool mark, int steps = 1) |
void | cursorForward(bool mark, int steps = 1) |
Qt::CursorMoveStyle | cursorMoveStyle() const |
int | cursorPosition() const |
int | cursorPositionAt(const QPoint &pos) |
void | cursorWordBackward(bool mark) |
void | cursorWordForward(bool mark) |
void | del() |
void | deselect() |
QString | displayText() const |
bool | dragEnabled() const |
QLineEdit::EchoMode | echoMode() const |
void | end(bool mark) |
bool | hasAcceptableInput() const |
bool | hasFrame() const |
bool | hasSelectedText() const |
void | home(bool mark) |
QString | inputMask() const |
void | insert(const QString &newText) |
bool | isClearButtonEnabled() const |
bool | isModified() const |
bool | isReadOnly() const |
bool | isRedoAvailable() const |
bool | isUndoAvailable() const |
int | maxLength() const |
QString | placeholderText() const |
QString | selectedText() const |
int | selectionEnd() const |
int | selectionLength() const |
int | selectionStart() const |
void | setAlignment(Qt::Alignment flag) |
void | setClearButtonEnabled(bool enable) |
void | setCompleter(QCompleter *c) |
void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
void | setCursorPosition(int) |
void | setDragEnabled(bool b) |
void | setEchoMode(QLineEdit::EchoMode) |
void | setFrame(bool) |
void | setInputMask(const QString &inputMask) |
void | setMaxLength(int) |
void | setModified(bool) |
void | setPlaceholderText(const QString &) |
void | setReadOnly(bool) |
void | setSelection(int start, int length) |
void | setTextMargins(const QMargins &margins) |
void | setTextMargins(int left, int top, int right, int bottom) |
void | setValidator(const QValidator *v) |
QString | text() const |
QMargins | textMargins() const |
const QValidator * | validator() const |
재구현된 공용 함수
virtual bool | event(QEvent *e) override |
virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
virtual void | timerEvent(QTimerEvent *e) override |
공용 슬롯
void | clear() |
void | copy() const |
void | cut() |
void | paste() |
void | redo() |
void | selectAll() |
void | setText(const QString &) |
void | undo() |
신호
void | cursorPositionChanged(int oldPos, int newPos) |
void | editingFinished() |
void | inputRejected() |
void | returnPressed() |
void | selectionChanged() |
void | textChanged(const QString &text) |
void | textEdited(const QString &text) |
보호된 함수
QRect | cursorRect() const |
virtual void | initStyleOption(QStyleOptionFrame *option) const |
재구현된 보호 함수
virtual void | changeEvent(QEvent *ev) 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 void | focusOutEvent(QFocusEvent *e) override |
virtual void | inputMethodEvent(QInputMethodEvent *e) override |
virtual void | keyPressEvent(QKeyEvent *event) 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 *) override |
상세 설명
줄 편집을 사용하면 실행 취소 및 다시 실행, 잘라내기 및 붙여넣기, 끌어서 놓기 등 유용한 편집 기능을 사용하여 한 줄의 일반 텍스트를 입력 및 편집할 수 있습니다.
줄 편집의 echoMode()를 변경하면 비밀번호 등의 입력을 위한 쓰기 전용 필드로도 사용할 수 있습니다.
QTextEdit 는 여러 줄의 서식 있는 텍스트를 편집할 수 있는 관련 클래스입니다.
텍스트 제한
maxLength 을 사용하여 텍스트의 최대 허용 길이를 정의합니다. inputMask 및 setValidator()을 사용하여 텍스트 내용을 더 제한할 수 있습니다.
텍스트 편집하기
setText() 또는 insert()로 텍스트를 변경할 수 있습니다. text ()를 사용하여 텍스트를 검색하고 displayText()를 사용하여 표시된 텍스트를 검색할 수 있습니다(다를 수 있습니다. EchoMode 참조). setSelection () 또는 selectAll()로 텍스트를 선택하고 cut(), copy() 및 paste()로 선택 항목을 표시할 수 있습니다. 텍스트를 정렬하려면 setAlignment()를 사용합니다.
텍스트가 변경되면 textChanged() 신호가 전송됩니다. setText ()를 호출하지 않고 다른 방식으로 텍스트가 변경되면 textEdited() 신호가 전송됩니다. 커서를 이동하면 cursorPositionChanged() 신호가 발생합니다. 그리고 Return 또는 Enter 키를 선택하면 returnPressed() 신호가 전송됩니다.
텍스트 편집이 완료되면 줄 편집에서 포커스를 잃었거나 Return/Enter를 선택했기 때문에 editingFinished() 신호가 전송됩니다.
텍스트 변경 없이 줄 편집 초점이 손실된 경우 editingFinished() 신호가 전송되지 않습니다.
줄 편집에 유효성 검사기가 설정되어 있는 경우 returnPressed()/editingFinished() 신호는 유효성 검사기가 QValidator::Acceptable 을 반환하는 경우에만 발생합니다.
사용자가 제공한 입력 및 출력에 대한 다양한 속성 및 유효성 검사기의 효과를 보여주는 다양한 줄 편집 예제를 제공하는 줄 편집 예제를 참조하여 QLineEdit를 사용할 수 있는 다양한 방법에 대한 자세한 정보를 확인하세요.
프레임 설정
기본적으로 QLineEdits에는 플랫폼 스타일 가이드에 지정된 프레임이 있습니다. setFrame (false)를 호출하여 프레임을 끌 수 있습니다.
기본 키 바인딩
아래 표는 기본 키 바인딩에 대해 설명합니다.
참고: 줄 편집은 아래 나열된 몇 가지 편집 옵션을 제공하는 컨텍스트 메뉴(일반적으로 오른쪽 클릭으로 호출됨)도 제공합니다.
키 입력 | 동작 |
---|---|
왼쪽 화살표 | 커서를 한 글자 왼쪽으로 이동합니다. |
Shift+왼쪽 화살표 | 텍스트를 한 글자 왼쪽으로 이동하고 선택합니다. |
오른쪽 화살표 | 커서를 오른쪽으로 한 글자 이동합니다. |
Shift+오른쪽 화살표 | 텍스트를 오른쪽으로 한 글자 이동하여 선택합니다. |
홈 | 커서를 줄의 시작 부분으로 이동합니다. |
끝 | 커서를 줄의 끝으로 이동합니다. |
백스페이스 | 커서 왼쪽에 있는 문자를 삭제합니다. |
Ctrl+백스페이스 | 커서 왼쪽에 있는 단어를 삭제합니다. |
Delete | 커서 오른쪽에 있는 문자를 삭제합니다. |
Ctrl+삭제 | 커서 오른쪽에 있는 단어를 삭제합니다. |
Ctrl+A | 모두 선택합니다. |
Ctrl+C | 선택한 텍스트를 클립보드에 복사합니다. |
Ctrl+삽입 | 선택한 텍스트를 클립보드에 복사합니다. |
Ctrl+K | 줄 끝으로 삭제합니다. |
Ctrl+V | 클립보드 텍스트를 줄 편집에 붙여넣습니다. |
Shift+삽입 | 클립보드 텍스트를 줄 편집에 붙여넣습니다. |
Ctrl+X | 선택한 텍스트를 삭제하고 클립보드에 복사합니다. |
Shift+삭제 | 선택한 텍스트를 삭제하고 클립보드에 복사합니다. |
Ctrl+Z | 마지막 작업을 실행 취소합니다. |
Ctrl+Y | 마지막으로 실행 취소한 작업을 다시 실행합니다. |
유효한 문자를 나타내는 다른 키 입력을 하면 해당 문자가 줄 편집에 삽입됩니다.
QTextEdit, QLabel, QComboBox 및 줄 편집 예시를참조하세요 .
멤버 유형 문서
enum QLineEdit::ActionPosition
이 열거형 유형은 줄 편집에서 추가할 작업 위젯을 표시하는 방법을 설명합니다.
Constant | 값 | 설명 |
---|---|---|
QLineEdit::LeadingPosition | 0 | 위젯은 레이아웃 방향 Qt::LeftToRight 을 사용하는 경우 텍스트 왼쪽에, Qt::RightToLeft 을 사용하는 경우 오른쪽에 각각 표시됩니다. |
QLineEdit::TrailingPosition | 1 | 레이아웃 방향 Qt::LeftToRight 을 사용하는 경우 위젯은 텍스트 오른쪽에, Qt::RightToLeft 을 사용하는 경우 위젯은 왼쪽에 각각 표시됩니다. |
addAction(), removeAction() 및 QWidget::layoutDirection 를참조하세요 .
enum QLineEdit::EchoMode
이 열거형 유형은 줄 편집에서 내용을 표시하는 방법을 설명합니다.
Constant | 값 | 설명 |
---|---|---|
QLineEdit::Normal | 0 | 입력한 대로 문자를 표시합니다. 기본값입니다. |
QLineEdit::NoEcho | 1 | 아무것도 표시하지 않습니다. 이 옵션은 비밀번호의 길이까지 비밀로 유지해야 하는 비밀번호에 적합할 수 있습니다. |
QLineEdit::Password | 2 | 실제로 입력한 문자 대신 플랫폼에 따라 달라지는 비밀번호 마스크 문자를 표시합니다. |
QLineEdit::PasswordEchoOnEdit | 3 | 문자를 입력하는 동안에만 문자를 표시합니다. 그렇지 않으면 Password 와 같이 문자를 표시합니다. |
setEchoMode() 및 echoMode()도 참조하세요 .
속성 문서
[read-only]
acceptableInput : const bool
이 속성은 입력이 inputMask 및 유효성 검사기를 만족하는지 여부를 보유합니다.
기본적으로 이 속성은 true
입니다.
함수에 액세스합니다:
bool | hasAcceptableInput() const |
setInputMask() 및 setValidator()도 참조하세요 .
alignment : Qt::Alignment
이 속성은 줄 편집의 정렬을 유지합니다.
여기에서는 가로 및 세로 맞춤이 모두 허용되며 Qt::AlignJustify 은 Qt::AlignLeft 에 매핑됩니다.
기본적으로 이 속성에는 Qt::AlignLeft 와 Qt::AlignVCenter 의 조합이 포함됩니다.
액세스 함수입니다:
Qt::Alignment | alignment() const |
void | setAlignment(Qt::Alignment flag) |
Qt::Alignment 를참조하세요 .
clearButtonEnabled : bool
이 속성은 줄 편집이 비어 있지 않을 때 지우기 버튼을 표시할지 여부를 지정합니다.
활성화하면 줄 편집에 일부 텍스트가 포함되어 있을 때 clear 버튼이 표시됩니다. 그렇지 않으면 줄 편집에 clear 버튼이 표시되지 않습니다(기본값).
기능에 액세스합니다:
bool | isClearButtonEnabled() const |
void | setClearButtonEnabled(bool enable) |
addAction() 및 removeAction()도 참조하세요 .
cursorMoveStyle : Qt::CursorMoveStyle
이 속성은 이 줄 편집에서 커서의 이동 스타일을 유지합니다.
이 속성을 Qt::VisualMoveStyle 으로 설정하면 줄 편집에서 시각적 이동 스타일이 사용됩니다. 왼쪽 화살표 키를 사용하면 텍스트의 쓰기 방향에 관계없이 항상 커서가 왼쪽으로 이동합니다. 오른쪽 화살표 키에도 동일한 동작이 적용됩니다.
속성이 Qt::LogicalMoveStyle (기본값)으로 설정된 경우 왼쪽에서 오른쪽(LTR) 텍스트 블록 내에서 왼쪽 화살표 키를 사용하면 커서 위치가 증가하고 오른쪽 화살표 키를 사용하면 커서 위치가 감소합니다. 텍스트 블록이 오른쪽에서 왼쪽(RTL)인 경우 반대 동작이 적용됩니다.
기능에 액세스합니다:
Qt::CursorMoveStyle | cursorMoveStyle() const |
void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
cursorPosition : int
이 속성은 이 줄 편집의 현재 커서 위치를 유지합니다.
커서 위치를 설정하면 적절한 경우 다시 칠합니다.
기본적으로 이 속성의 값은 0입니다.
함수 액세스:
int | cursorPosition() const |
void | setCursorPosition(int) |
[read-only]
displayText : const QString
이 속성은 표시되는 텍스트를 저장합니다.
echoMode 가 Normal 인 경우 text()와 동일하게 반환됩니다. EchoMode 가 Password 또는 PasswordEchoOnEdit 인 경우 플랫폼에 따라 달라지는 비밀번호 마스크 문자 문자열(예: "******")을 반환합니다. EchoMode 가 NoEcho 인 경우 빈 문자열을 반환합니다.
기본적으로 이 속성에는 빈 문자열이 포함됩니다.
함수 액세스:
QString | displayText() const |
setEchoMode(), text() 및 EchoMode 를참조하세요 .
dragEnabled : bool
이 속성은 사용자가 선택한 텍스트를 누르고 마우스를 움직일 때 줄 편집이 드래그를 시작할지 여부를 지정합니다.
드래그는 기본적으로 비활성화되어 있습니다.
액세스 기능:
bool | dragEnabled() const |
void | setDragEnabled(bool b) |
echoMode : EchoMode
이 속성은 줄 편집의 에코 모드를 보유합니다.
에코 모드는 줄 편집에 입력한 텍스트가 사용자에게 표시(또는 에코)되는 방식을 결정합니다.
가장 일반적인 설정은 사용자가 입력한 텍스트를 그대로 표시하는 Normal 입니다. QLineEdit 은 입력한 텍스트를 숨기거나 가릴 수 있는 모드도 지원합니다. NoEcho, Password 및 PasswordEchoOnEdit 입니다.
위젯의 표시와 텍스트 복사 또는 드래그 기능은 이 설정의 영향을 받습니다.
기본적으로 이 속성은 Normal 로 설정되어 있습니다.
기능에 액세스합니다:
QLineEdit::EchoMode | echoMode() const |
void | setEchoMode(QLineEdit::EchoMode) |
EchoMode 및 displayText()도 참조하세요 .
frame : bool
이 속성은 선 편집이 프레임과 함께 자체적으로 그려지는지 여부를 나타냅니다.
활성화하면(기본값) 선 편집이 프레임 안에 자체적으로 그려집니다. 그렇지 않으면 선 편집이 프레임 없이 자체적으로 그려집니다.
함수 액세스:
bool | hasFrame() const |
void | setFrame(bool) |
[read-only]
hasSelectedText : const bool
이 속성은 선택된 텍스트가 있는지 여부를 보유합니다.
hasSelectedText()는 사용자가 텍스트의 일부 또는 전부를 선택했다면 true
을 반환합니다. 그렇지 않으면 false
을 반환합니다.
기본적으로 이 속성은 false
입니다.
함수에 액세스합니다:
bool | hasSelectedText() const |
selectedText()도 참조하세요 .
inputMask : QString
이 속성은 유효성 검사 입력 마스크를 보유합니다.
QLineEdit 의 유효성 검사 마스크를 설정합니다. 유효성 검사기는 마스크 대신 또는 마스크와 함께 사용할 수 있습니다( setValidator() 참조). 기본값은 빈 문자열로, 입력 마스크가 사용되지 않습니다.
마스크를 해제하고 일반 QLineEdit 작업으로 돌아가려면 빈 문자열을 전달합니다.
입력 마스크는 입력 템플릿 문자열입니다. 다음 요소를 포함할 수 있습니다:
마스크 문자 | 이 위치에서 유효한 것으로 간주되는 입력 문자의 Category 을 정의합니다. |
메타 문자 | 다양한 특수 의미(아래 세부 정보 참조). |
구분 기호 | 다른 모든 문자는 변경할 수 없는 구분 기호로 간주됩니다. |
다음 표는 입력 마스크에 사용할 수 있는 마스크 및 메타 문자를 보여줍니다.
마스크 문자 | 의미 |
---|---|
A | 문자 카테고리의 필수 문자(예: A-Z, a-z)입니다. |
a | 문자 카테고리의 문자는 허용되지만 필수는 아닙니다. |
N | 문자 또는 숫자 카테고리의 문자(예: A-Z, a-z, 0-9)가 필요합니다. |
n | 문자 또는 숫자 카테고리의 문자는 허용되지만 필수는 아닙니다. |
X | 공백이 아닌 문자는 필수입니다. |
x | 공백이 아닌 문자는 허용되지만 필수는 아닙니다. |
9 | 숫자 카테고리의 문자(예: 0-9)는 필수입니다. |
0 | 숫자 카테고리의 문자는 허용되지만 필수는 아닙니다. |
D | 숫자 카테고리의 문자이며 0보다 큰 문자(예: 1-9)는 필수입니다. |
d | 숫자 카테고리의 문자이며 0보다 큰 문자는 허용되지만 필수는 아닙니다(예: 1-9). |
# | 숫자 카테고리의 문자 또는 더하기/빼기 기호는 허용되지만 필수는 아닙니다. |
H | 16진수 문자는 필수입니다. A-F, a-f, 0-9. |
h | 16진수 문자는 허용되지만 필수는 아닙니다. |
B | 이진 문자는 필수입니다. 0-1. |
b | 이진 문자는 허용되지만 필수는 아닙니다. |
메타 문자 | 의미 |
> | 다음 알파벳 문자는 모두 대문자입니다. |
< | 다음 알파벳 문자는 모두 소문자입니다. |
! | 대/소문자 변환을 끕니다. |
;c | 입력 마스크를 종료하고 공백 문자를 c로 설정합니다. |
[ ] { } | 예약. |
\ | 위에 나열된 특수 문자를 구분 기호로 사용하려면 \ 을 사용하여 이스케이프 처리합니다. |
입력 마스크를 만들거나 지우면 줄 편집은 메타 문자가 제거되고 마스크 문자가 빈 문자(기본적으로 space
)로 대체된 입력 마스크 문자열의 복사본으로 채워집니다.
입력 마스크가 설정된 경우 text() 메서드는 빈 문자가 모두 제거된 줄 편집 콘텐츠의 수정된 사본을 반환합니다. 수정되지 않은 콘텐츠는 displayText()를 사용하여 읽을 수 있습니다.
hasAcceptableInput() 메서드는 줄 편집의 현재 콘텐츠가 입력 마스크의 요구 사항을 충족하지 않는 경우 false를 반환합니다.
예시:
Mask | 참고 |
---|---|
000.000.000.000;_ | IP 주소; 공백은 _ 입니다. |
HH:HH:HH:HH:HH:HH;_ | MAC 주소 |
0000-00-00 | ISO 날짜; 공백은 다음과 같습니다. space |
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# | 라이선스 번호; 공백은 # 이며 모든 (알파벳) 문자는 대문자로 변환됩니다. |
범위 제어(예: IP 주소)를 얻으려면 validators 와 함께 마스크를 사용합니다.
기능에 액세스합니다:
QString | inputMask() const |
void | setInputMask(const QString &inputMask) |
maxLength, QChar::isLetter(), QChar::isNumber() 및 QChar::digitValue()도 참조하세요 .
maxLength : int
이 속성은 허용되는 텍스트의 최대 길이를 보유합니다.
텍스트가 너무 길면 한계에서 잘립니다.
잘림이 발생하면 선택한 텍스트는 모두 선택 해제되고 커서 위치는 0으로 설정되며 문자열의 첫 번째 부분이 표시됩니다.
줄 편집에 입력 마스크가 있는 경우 마스크는 최대 문자열 길이를 정의합니다.
기본적으로 이 속성에는 32767이라는 값이 포함되어 있습니다.
함수에 액세스합니다:
int | maxLength() const |
void | setMaxLength(int) |
inputMask 를참조하세요 .
modified : bool
이 속성은 사용자가 줄 편집 내용을 수정했는지 여부를 보유합니다.
수정됨 플래그는 QLineEdit 에서 읽지 않으며 기본값은 false이고 사용자가 줄 편집 내용을 변경할 때마다 true로 변경됩니다.
이 기능은 기본값을 제공해야 하지만 기본값이 무엇인지 알지 못하는 경우(예: 양식의 다른 필드에 따라 달라지는 경우)에 유용합니다. 가장 좋은 기본값 없이 줄 편집을 시작하고 기본값을 알면 수정()이 false
(사용자가 텍스트를 입력하지 않은 경우)를 반환하면 기본값을 삽입합니다.
setText()를 호출하면 수정 플래그가 false로 재설정됩니다.
함수 액세스:
bool | isModified() const |
void | setModified(bool) |
placeholderText : QString
이 속성은 줄 편집의 플레이스홀더 텍스트를 저장합니다.
이 속성을 설정하면 줄 편집이 비어 있는 한 줄 편집에 회색으로 표시된 플레이스홀더 텍스트가 표시됩니다.
일반적으로 빈 줄 편집은 초점이 있는 경우에도 플레이스홀더 텍스트가 표시됩니다. 그러나 콘텐츠가 가로 중앙에 있는 경우 줄 편집에 초점이 있을 때 커서 아래에 플레이스홀더 텍스트가 표시되지 않습니다.
기본적으로 이 속성에는 빈 문자열이 포함됩니다.
함수 액세스:
QString | placeholderText() const |
void | setPlaceholderText(const QString &) |
text()도 참조하세요 .
readOnly : bool
이 속성은 줄 편집이 읽기 전용인지 여부를 보유합니다.
읽기 전용 모드에서는 사용자가 텍스트를 클립보드에 복사하거나 텍스트를 끌어서 놓을 수는 있지만( echoMode()가 Normal 인 경우) 편집할 수는 없습니다.
QLineEdit 는 읽기 전용 모드에서 커서를 표시하지 않습니다.
기본적으로 이 속성은 false
입니다.
기능에 액세스합니다:
bool | isReadOnly() const |
void | setReadOnly(bool) |
setEnabled()도 참조하세요 .
[read-only]
redoAvailable : const bool
이 속성은 다시 실행을 사용할 수 있는지 여부를 저장합니다.
사용자가 줄 편집에서 텍스트에 대해 하나 이상의 실행 취소 작업을 수행하면 다시 실행을 사용할 수 있게 됩니다.
기본적으로 이 속성은 false
입니다.
액세스 기능:
bool | isRedoAvailable() const |
[read-only]
selectedText : const QString
이 속성은 선택한 텍스트를 저장합니다.
선택한 텍스트가 없는 경우 이 속성의 값은 빈 문자열입니다.
기본적으로 이 속성에는 빈 문자열이 포함됩니다.
함수에 액세스합니다:
QString | selectedText() const |
hasSelectedText()도 참조하세요 .
text : QString
이 속성은 줄 편집의 텍스트를 보유합니다.
이 속성을 설정하면 선택 내용이 지워지고 실행 취소/다시 실행 기록이 지워지며 커서가 줄의 끝으로 이동하고 modified 속성이 false로 재설정됩니다. setText()로 삽입하면 텍스트의 유효성이 검사되지 않습니다.
텍스트는 maxLength() 길이로 잘립니다.
기본적으로 이 속성에는 빈 문자열이 포함됩니다.
함수에 액세스합니다:
QString | text() const |
void | setText(const QString &) |
알림 신호:
void | textChanged(const QString &text) |
[read-only]
undoAvailable : const bool
이 속성은 실행 취소를 사용할 수 있는지 여부를 보유합니다.
사용자가 줄 편집에서 텍스트를 수정하면 실행 취소를 사용할 수 있게 됩니다.
기본적으로 이 속성은 false
입니다.
액세스 함수:
bool | isUndoAvailable() const |
멤버 함수 문서
[explicit]
QLineEdit::QLineEdit(QWidget *parent = nullptr)
텍스트가 없는 줄 편집을 생성합니다.
최대 텍스트 길이는 32767자로 설정됩니다.
parent 인수는 QWidget 생성자로 전송됩니다.
setText() 및 setMaxLength()도 참조하세요 .
[explicit]
QLineEdit::QLineEdit(const QString &contents, QWidget *parent = nullptr)
parent 의 하위 항목으로 contents 텍스트가 포함된 줄 편집을 생성합니다.
커서 위치는 줄의 끝으로 설정되고 최대 텍스트 길이는 32767자로 설정됩니다.
text() 및 setMaxLength()도 참조하세요 .
[virtual noexcept]
QLineEdit::~QLineEdit()
줄 편집 내용을 삭제합니다.
void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)
position 의 작업 목록에 action 을 추가합니다.
QAction *QLineEdit::addAction(const QIcon &icon, QLineEdit::ActionPosition position)
이 함수는 오버로드된 함수입니다.
position 에서 주어진 icon 으로 새 작업을 만듭니다.
void QLineEdit::backspace()
선택한 텍스트가 없는 경우 텍스트 커서 왼쪽에 있는 문자를 삭제하고 커서를 왼쪽으로 한 위치 이동합니다. 텍스트가 선택되어 있으면 커서가 선택된 텍스트의 시작 부분으로 이동하고 선택한 텍스트가 삭제됩니다.
del()도 참조하세요 .
[override virtual protected]
void QLineEdit::changeEvent(QEvent *ev)
다시 구현합니다: QWidget::changeEvent(QEvent * 이벤트).
[slot]
void QLineEdit::clear()
줄 편집 내용을 지웁니다.
QCompleter *QLineEdit::completer() const
완료를 제공하는 현재 QCompleter 를 반환합니다.
setCompleter()도 참조하세요 .
[override virtual protected]
void QLineEdit::contextMenuEvent(QContextMenuEvent *event)
다시 구현합니다: QWidget::contextMenuEvent(QContextMenuEvent * 이벤트).
createStandardContextMenu()로 만든 표준 컨텍스트 메뉴를 표시합니다.
줄 편집에 컨텍스트 메뉴를 표시하지 않으려면 contextMenuPolicy 을 Qt::NoContextMenu 으로 설정하면 됩니다. 컨텍스트 메뉴를 사용자 지정하려면 이 함수를 다시 구현하세요. 표준 상황에 맞는 메뉴를 확장하려면 이 함수를 다시 구현하고 createStandardContextMenu()를 호출한 다음 반환되는 메뉴를 확장합니다.
void LineEdit::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = createStandardContextMenu(); menu->addAction(tr("My Menu Item")); //... menu->exec(event->globalPos()); delete menu; }
event 매개 변수는 이벤트가 생성될 때 마우스 커서가 있던 위치를 가져오는 데 사용됩니다.
setContextMenuPolicy()도 참조하세요 .
[slot]
void QLineEdit::copy() const
선택한 텍스트가 있는 경우 클립보드에 복사하고 echoMode()가 Normal 인 경우 복사합니다.
QMenu *QLineEdit::createStandardContextMenu()
사용자가 마우스 오른쪽 버튼으로 편집 줄을 클릭하면 표시되는 표준 컨텍스트 메뉴를 만듭니다. 기본 contextMenuEvent() 핸들러에서 호출됩니다. 팝업 메뉴의 소유권은 호출자에게 이전됩니다.
void QLineEdit::cursorBackward(bool mark, int steps = 1)
커서를 steps 문자 뒤로 이동합니다. mark 이 참이면 이동한 각 문자가 선택 영역에 추가됩니다. mark 이 거짓이면 선택 영역이 지워집니다.
cursorForward()도 참조하세요 .
void QLineEdit::cursorForward(bool mark, int steps = 1)
커서를 steps 문자 앞으로 이동합니다. mark 이 참이면 이동한 각 문자가 선택 영역에 추가됩니다. mark 이 거짓이면 선택 영역이 지워집니다.
cursorBackward()도 참조하세요 .
int QLineEdit::cursorPositionAt(const QPoint &pos)
포인트 아래 커서 위치를 반환합니다 pos.
[signal]
void QLineEdit::cursorPositionChanged(int oldPos, int newPos)
이 신호는 커서가 움직일 때마다 발생합니다. 이전 위치는 oldPos, 새 위치는 newPos 으로 표시됩니다.
setCursorPosition() 및 cursorPosition()도 참조하세요 .
[protected]
QRect QLineEdit::cursorRect() const
줄 편집 커서를 포함하는 직사각형을 반환합니다.
void QLineEdit::cursorWordBackward(bool mark)
커서를 한 단어 뒤로 이동합니다. mark 이 참이면 해당 단어도 선택됩니다.
cursorWordForward()도 참조하세요 .
void QLineEdit::cursorWordForward(bool mark)
커서를 한 단어 앞으로 이동합니다. mark 이 참이면 해당 단어도 선택됩니다.
cursorWordBackward()도 참조하세요 .
[slot]
void QLineEdit::cut()
선택한 텍스트를 클립보드에 복사하고 삭제하는 경우, echoMode()가 Normal 인 경우 삭제합니다.
현재 유효성 검사기가 선택한 텍스트의 삭제를 허용하지 않는 경우 cut()은 삭제하지 않고 복사합니다.
copy(), paste() 및 setValidator()도 참조하세요 .
void QLineEdit::del()
선택한 텍스트가 없는 경우 텍스트 커서 오른쪽에 있는 문자를 삭제합니다. 텍스트가 선택되어 있으면 커서가 선택된 텍스트의 시작 부분으로 이동하고 선택한 텍스트가 삭제됩니다.
backspace()도 참조하세요 .
void QLineEdit::deselect()
선택한 텍스트를 선택 취소합니다.
setSelection() 및 selectAll()도 참조하세요 .
[override virtual protected]
void QLineEdit::dragEnterEvent(QDragEnterEvent *e)
다시 구현합니다: QWidget::dragEnterEvent(QDragEnterEvent * 이벤트).
[override virtual protected]
void QLineEdit::dragLeaveEvent(QDragLeaveEvent *e)
다시 구현합니다: QWidget::dragLeaveEvent(QDragLeaveEvent * 이벤트).
[override virtual protected]
void QLineEdit::dragMoveEvent(QDragMoveEvent *e)
다시 구현합니다: QWidget::dragMoveEvent(QDragMoveEvent * 이벤트).
[override virtual protected]
void QLineEdit::dropEvent(QDropEvent *e)
다시 구현합니다: QWidget::dropEvent(QDropEvent * 이벤트).
[signal]
void QLineEdit::editingFinished()
이 신호는 리턴 또는 엔터 키를 사용하거나 줄 편집이 초점을 잃고 마지막으로 이 신호가 발생한 이후 내용이 변경된 경우 발생합니다.
참고: 줄 편집에 validator() 또는 inputMask()가 설정되어 있고 Enter/리턴이 사용된 경우 입력이 inputMask() 뒤에 오고 validator()가 QValidator::Acceptable 을 반환하는 경우에만 editingFinished() 신호가 발생합니다.
void QLineEdit::end(bool mark)
텍스트 커서가 이미 있지 않은 경우 텍스트 커서를 줄의 끝으로 이동합니다. mark 이 참이면 텍스트가 마지막 위치로 선택됩니다. 그렇지 않으면 커서를 이동하면 선택된 텍스트가 선택 취소됩니다.
home()도 참조하세요 .
[override virtual]
bool QLineEdit::event(QEvent *e)
다시 구현합니다: QWidget::event(QEvent * 이벤트).
[override virtual protected]
void QLineEdit::focusInEvent(QFocusEvent *e)
다시 구현합니다: QWidget::focusInEvent(QFocusEvent * 이벤트).
[override virtual protected]
void QLineEdit::focusOutEvent(QFocusEvent *e)
다시 구현합니다: QWidget::focusOutEvent(QFocusEvent * 이벤트).
void QLineEdit::home(bool mark)
텍스트 커서가 이미 있지 않은 경우 텍스트 커서를 줄의 시작 부분으로 이동합니다. mark 이 참이면 텍스트가 첫 번째 위치로 선택됩니다. 그렇지 않으면 커서를 이동하면 선택된 텍스트가 선택 취소됩니다.
end()도 참조하세요 .
[virtual protected]
void QLineEdit::initStyleOption(QStyleOptionFrame *option) const
QLineEdit 의 값으로 option 을 초기화합니다. 이 메서드는 하위 클래스에 QStyleOptionFrame 이 필요하지만 모든 정보를 직접 채우고 싶지 않을 때 유용합니다.
QStyleOption::initFrom()도 참조하세요 .
[override virtual protected]
void QLineEdit::inputMethodEvent(QInputMethodEvent *e)
다시 구현합니다: QWidget::inputMethodEvent(Q입력메소드이벤트 *이벤트).
[override virtual]
QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
재구현합니다: QWidget::inputMethodQuery(Qt::InputMethodQuery 쿼리) const.
[signal]
void QLineEdit::inputRejected()
이 신호는 사용자가 유효한 입력으로 간주되지 않는 키를 사용할 때 발생합니다. 예를 들어, 키를 사용하여 유효성 검사기의 validate() 호출이 Invalid 을 반환하는 경우입니다. 또 다른 경우는 줄 편집의 최대 길이를 초과하여 더 많은 문자를 입력하려고 할 때입니다.
참고: 이 신호는 텍스트의 일부만 허용되는 경우에도 계속 발생합니다. 예를 들어, 최대 길이가 설정되어 있는데 클립보드 텍스트가 붙여넣을 때 최대 길이보다 긴 경우입니다.
void QLineEdit::insert(const QString &newText)
선택한 텍스트를 삭제하고 newText 을 삽입한 다음 결과의 유효성을 검사합니다. 유효하면 새 텍스트를 줄 편집의 새 콘텐츠로 설정합니다.
[override virtual protected]
void QLineEdit::keyPressEvent(QKeyEvent *event)
다시 구현합니다: QWidget::keyPressEvent(QKeyEvent * 이벤트).
주어진 키 프레스 event 를 줄 편집 액션으로 변환합니다.
Return 또는 Enter가 사용되었고 현재 텍스트가 유효하면(또는 유효성 검사기에 의해 made valid 일 수 있음) returnPressed() 신호가 방출됩니다.
Default Key Bindings 를참조하세요 .
[override virtual protected]
void QLineEdit::keyReleaseEvent(QKeyEvent *e)
다시 구현합니다: QWidget::keyReleaseEvent(QKeyEvent * 이벤트).
[override virtual]
QSize QLineEdit::minimumSizeHint() const
속성에 대한 액세스 함수를 다시 구현합니다: QWidget::minimumSizeHint.
줄 편집을 위한 최소 크기를 반환합니다.
반환되는 너비는 일반적으로 최소 한 글자 이상에 충분합니다.
[override virtual protected]
void QLineEdit::mouseDoubleClickEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mouseDoubleClickEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QLineEdit::mouseMoveEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mouseMoveEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QLineEdit::mousePressEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mousePressEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QLineEdit::mouseReleaseEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mouseReleaseEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QLineEdit::paintEvent(QPaintEvent *)
다시 구현합니다: QWidget::paintEvent(QPaintEvent * 이벤트).
[slot]
void QLineEdit::paste()
커서 위치에 클립보드의 텍스트를 삽입하여 선택한 텍스트를 삭제하고 줄 편집이 read-only 이 아닌 경우 삭제합니다.
최종 결과가 현재 validator 에 유효하지 않은 경우 아무 일도 일어나지 않습니다.
[slot]
void QLineEdit::redo()
다시 실행이 available 인 경우 마지막 작업을 다시 실행합니다.
[signal]
void QLineEdit::returnPressed()
이 신호는 Return 또는 Enter 키를 사용할 때 발생합니다.
참고: 편집 줄에 validator() 또는 inputMask()이 설정되어 있는 경우 입력이 inputMask() 뒤에 오고 validator()가 QValidator::Acceptable 를 반환하는 경우에만 returnPressed() 신호가 발생합니다.
[slot]
void QLineEdit::selectAll()
모든 텍스트를 선택하고(강조 표시) 커서를 끝까지 이동합니다.
참고: 사용자가 위젯을 클릭하기 전에 입력하면 선택한 텍스트가 삭제되므로 기본값이 삽입된 경우에 유용합니다.
setSelection() 및 deselect()도 참조하세요 .
[signal]
void QLineEdit::selectionChanged()
이 신호는 선택 항목이 변경될 때마다 방출됩니다.
hasSelectedText() 및 selectedText()도 참조하세요 .
int QLineEdit::selectionEnd() const
줄 편집에서 선택된 바로 뒤에 있는 문자의 인덱스를 반환합니다(텍스트가 선택되지 않은 경우 -1).
selectedText(), selectionStart() 및 selectionLength()도 참조하세요 .
int QLineEdit::selectionLength() const
선택 영역의 길이를 반환합니다.
selectedText(), selectionStart() 및 selectionEnd()도 참조하세요 .
int QLineEdit::selectionStart() const
줄 편집에서 처음 선택한 문자의 인덱스(또는 텍스트가 선택되지 않은 경우 -1)를 반환합니다.
selectedText(), selectionEnd() 및 selectionLength()도 참조하세요 .
void QLineEdit::setCompleter(QCompleter *c)
이 줄 편집을 설정하여 완성기인 c 에서 자동 완성을 제공하도록 합니다. 완성 모드는 QCompleter::setCompletionMode()를 사용하여 설정합니다.
QValidator 또는 QLineEdit::inputMask 와 함께 QCompleter 를 사용하려면 QCompleter 에 제공된 모델에 유효한 항목이 포함되어 있는지 확인해야 합니다. QSortFilterProxyModel 을 사용하여 QCompleter 의 모델에 유효한 항목만 포함되어 있는지 확인할 수 있습니다.
완성기를 제거하고 자동 완성을 비활성화하려면 nullptr
을 전달하세요.
completer() 및 QCompleter 을참조하세요 .
void QLineEdit::setSelection(int start, int length)
위치 start 및 length 문자에 대한 텍스트를 선택합니다. 음수 길이도 허용됩니다.
deselect(), selectAll() 및 selectedText()도 참조하세요 .
void QLineEdit::setTextMargins(const QMargins &margins)
프레임 내부의 텍스트 주위에 margins 를 설정합니다.
textMargins()도 참조하세요 .
void QLineEdit::setTextMargins(int left, int top, int right, int bottom)
프레임 내부 텍스트 주위의 여백을 left, top, right, bottom 크기로 설정합니다.
textMargins()도 참조하세요 .
void QLineEdit::setValidator(const QValidator *v)
줄 편집 값의 유효성 검사기를 v 로 설정합니다.
줄 편집의 returnPressed() 및 editingFinished() 신호는 v 이 줄 편집의 콘텐츠를 Acceptable 으로 유효성을 검사하는 경우에만 발생합니다. 사용자는 편집하는 동안 내용을 Intermediate 값으로 변경할 수 있지만 v 이 Invalid 으로 유효성을 검사하는 값으로 텍스트를 편집할 수 없습니다.
이렇게 하면 편집이 완료될 때 저장되는 텍스트를 제한하는 동시에 사용자가 텍스트를 유효한 상태에서 다른 상태로 편집할 수 있는 충분한 자유를 유지할 수 있습니다.
현재 입력 유효성 검사기를 제거하려면 nullptr
을 전달합니다. 초기 설정은 입력 유효성 검사기를 사용하지 않는 것입니다( maxLength() 까지는 모든 입력이 허용됨).
validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator, QRegularExpressionValidator도 참조하세요 .
[override virtual]
QSize QLineEdit::sizeHint() const
속성에 대한 액세스 함수를 다시 구현합니다: QWidget::sizeHint.
위젯의 권장 크기를 반환합니다.
픽셀 단위로 반환되는 너비는 일반적으로 15~20자 정도면 충분합니다.
[signal]
void QLineEdit::textChanged(const QString &text)
이 신호는 텍스트가 변경될 때마다 전송됩니다. text 인수는 새 텍스트입니다.
textEdited()와 달리 이 신호는 setText()를 호출하는 등 프로그래밍 방식으로 텍스트가 변경될 때도 발생합니다.
참고: text 속성에 대한 알림 신호입니다.
[signal]
void QLineEdit::textEdited(const QString &text)
이 신호는 텍스트가 편집될 때마다 발생합니다. text 인수는 새 텍스트입니다.
textChanged()와 달리 이 신호는 setText()을 호출하는 등 프로그래밍 방식으로 텍스트를 변경할 때는 발생하지 않습니다.
QMargins QLineEdit::textMargins() const
위젯의 텍스트 여백을 반환합니다.
setTextMargins()도 참조하세요 .
[override virtual]
void QLineEdit::timerEvent(QTimerEvent *e)
다시 구현합니다: QObject::timerEvent(Q타이머이벤트 *이벤트).
[slot]
void QLineEdit::undo()
실행 취소가 available 인 경우 마지막 작업을 실행 취소합니다. 현재 선택 항목을 모두 선택 취소하고 선택 시작을 현재 커서 위치로 업데이트합니다.
const QValidator *QLineEdit::validator() const
현재 입력 유효성 검사기에 대한 포인터를 반환하거나 유효성 검사기가 설정되지 않은 경우 nullptr
을 반환합니다.
setValidator()도 참조하세요 .
© 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.