이 페이지에서

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() 신호는 발생하지 않습니다.

라인 편집기에 유효성 검사기가 설정되어 있는 경우, 유효성 검사기가 ` QValidator::Acceptable`를 반환할 때만 ` returnPressed()`/`editingFinished()` 신호가 발생합니다.

QLineEdit의 다양한 사용 방법에 대한 자세한 내용은 ‘라인 편집기 예제( Line Edits Example)’를 참조하십시오. 이 예제에는 사용자가 입력하고 출력한 내용에 대해 다양한 속성과 유효성 검사기가 미치는 영향을 보여주는 여러 라인 편집기 예제가 포함되어 있습니다.

프레임 설정

기본적으로 QLineEdit은 플랫폼 스타일 가이드에 명시된 대로 프레임을 가지고 있습니다. ` setFrame(false)`를 호출하여 프레임을 비활성화할 수 있습니다.

기본 키 바인딩

아래 표에는 기본 키 바인딩이 설명되어 있습니다.

참고: 라인편집창에는 아래에 나열된 편집 옵션 중 일부를 제공하는 컨텍스트 메뉴(일반적으로 마우스 오른쪽 버튼을 클릭하여 호출)도 있습니다.

키 입력작업
왼쪽 화살표커서를 왼쪽으로 한 글자 이동합니다.
Shift+왼쪽 화살표텍스트를 한 글자 왼쪽으로 이동하고 선택합니다.
오른쪽 화살표커서를 한 글자 오른쪽으로 이동합니다.
Shift+오른쪽 화살표텍스트를 한 글자 오른쪽으로 이동하고 선택합니다.
Home커서를 줄의 맨 앞으로 이동합니다.
End커서를 줄 끝으로 이동합니다.
Backspace커서 왼쪽에 있는 문자를 삭제합니다.
Ctrl+Backspace커서 왼쪽에 있는 단어를 삭제합니다.
Delete커서 오른쪽의 문자를 삭제합니다.
Ctrl+Delete커서 오른쪽의 단어를 삭제합니다.
Ctrl+A전체 선택.
Ctrl+C선택한 텍스트를 클립보드에 복사합니다.
Ctrl+Insert선택한 텍스트를 클립보드에 복사합니다.
Ctrl+K줄 끝까지 삭제합니다.
Ctrl+V클립보드의 텍스트를 라인 편집창에 붙여넣습니다.
Shift+Insert클립보드의 텍스트를 줄 편집란에 붙여넣습니다.
Ctrl+X선택한 텍스트를 삭제하고 클립보드에 복사합니다.
Shift+Delete선택한 텍스트를 삭제하고 클립보드에 복사합니다.
Ctrl+Z마지막 작업을 취소합니다.
Ctrl+Y마지막으로 취소한 작업을 다시 실행합니다.

유효한 문자를 나타내는 다른 키를 누르면, 해당 문자가 라인 편집창에 삽입됩니다.

QTextEdit, QLabel, QComboBox 및 Line Edits 예제도참조하십시오 .

멤버 유형 문서

enum QLineEdit::ActionPosition

이 열거형 유형은 라인 편집 상자가 추가될 작업 위젯을 어떻게 표시해야 하는지를 정의합니다.

상수값설명
QLineEdit::LeadingPosition0Qt::LeftToRight 레이아웃 방향을 사용할 경우 위젯은 텍스트의 왼쪽에 표시되고, Qt::RightToLeft 레이아웃 방향을 사용할 경우 오른쪽에 표시됩니다.
QLineEdit::TrailingPosition1레이아웃 방향 Qt::LeftToRight 을 사용할 경우 위젯은 텍스트의 오른쪽에 표시되고, Qt::RightToLeft 을 사용할 경우 왼쪽에 표시됩니다.

addAction(), removeAction() 및 QWidget::layoutDirection도 참조하십시오 .

enum QLineEdit::EchoMode

이 열거형 유형은 라인 편집 상자가 내용을 어떻게 표시해야 하는지를 정의합니다.

상수값설명
QLineEdit::Normal0입력되는 대로 문자를 표시합니다. 이것이 기본값입니다.
QLineEdit::NoEcho1아무것도 표시하지 않습니다. 비밀번호의 길이조차 비밀로 유지해야 하는 경우에 적합할 수 있습니다.
QLineEdit::Password2실제로 입력된 문자 대신 플랫폼에 따라 달라지는 비밀번호 마스크 문자를 표시합니다.
QLineEdit::PasswordEchoOnEdit3입력하는 동안에만 문자를 표시합니다. 그 외에는 Password 와 같이 문자를 표시합니다.

setEchoMode() 및 echoMode()도 참조하십시오 .

속성 설명서

[read-only] acceptableInput : 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 : 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 : bool

이 속성은 텍스트가 선택되었는지 여부를 나타냅니다.

hasSelectedText()는 사용자가 텍스트의 일부 또는 전부를 선택한 경우 true 를 반환합니다. 그렇지 않은 경우 false 를 반환합니다.

기본적으로 이 속성의 값은 ` false`입니다.

액세스 함수:

bool hasSelectedText() const

selectedText()도 참조하십시오 .

inputMask : QString

이 속성은 유효성 검사 입력 마스크를 저장합니다.

QLineEdit 의 유효성 검사 마스크를 설정합니다. 유효성 검사기(validators)를 마스크 대신 사용하거나 마스크와 함께 사용할 수 있습니다. 자세한 내용은 setValidator()을 참조하십시오. 기본값은 빈 문자열이며, 이는 입력 마스크가 사용되지 않음을 의미합니다.

마스크를 해제하고 QLineEdit 의 정상적인 작동 상태로 되돌리려면 빈 문자열을 전달하십시오.

입력 마스크는 입력 템플릿 문자열입니다. 다음 요소를 포함할 수 있습니다:

마스크 문자이 위치에서 유효한 것으로 간주되는 입력 문자 Category 을 정의합니다.
메타 문자다양한 특수 의미(자세한 내용은 아래 참조).
구분 기호그 외의 모든 문자는 변경 불가능한 구분자로 간주됩니다.

다음 표는 입력 마스크에서 사용할 수 있는 마스크 및 메타 문자를 보여줍니다.

마스크 문자의미
AA-Z, a-z와 같이 '문자' 범주의 문자가 필수입니다.
a문자 범주의 문자로, 필수 항목은 아니지만 허용되는 문자입니다.
NA-Z, a-z, 0-9와 같이 문자 또는 숫자 범주의 문자가 필수입니다.
n문자 또는 숫자 범주의 문자가 허용되지만 필수 사항은 아닙니다.
X비공백 문자라면 무엇이든 필수입니다.
x공백이 아닌 모든 문자가 허용되지만 필수 사항은 아닙니다.
9숫자 범주의 문자가 필수입니다(예: 0-9).
0숫자 범주의 문자는 허용되지만 필수 사항은 아닙니다.
D숫자 범주에 속하고 0보다 큰 문자(예: 1-9)가 필수입니다.
d숫자 범주의 문자이며 0보다 큰 값이어야 합니다(예: 1-9).
#숫자 범주의 문자 또는 더하기/빼기 기호는 허용되지만 필수 사항은 아닙니다.
H16진수 문자가 필수입니다. A-F, a-f, 0-9.
h16진수 문자는 허용되지만 필수 사항은 아닙니다.
B이진수 문자가 필수입니다. 0-1.
b이진수 문자는 허용되지만 필수 사항은 아닙니다.
메타 문자의미
>뒤따르는 모든 알파벳 문자는 대문자로 변환됩니다.
<뒤에 오는 모든 알파벳 문자는 소문자로 처리됩니다.
!대소문자 변환을 해제합니다.
;c입력 마스크를 종료하고 공백 문자를 'c'로 설정합니다.
[ ] { }예약된 기능입니다.
\\ 를 사용하여 위에 나열된 특수 문자를 이스케이프 처리하면, 해당 문자를 구분 기호로 사용할 수 있습니다.

생성되거나 지워지면, 라인 편집기에는 메타 문자가 제거되고 마스크 문자가 공백 문자(기본적으로 space)로 대체된 입력 마스크 문자열의 사본이 채워집니다.

입력 마스크가 설정된 경우, text() 메서드는 모든 공백 문자가 제거된 라인 편집 내용 사본을 반환합니다. 수정되지 않은 내용은 displayText()를 사용하여 읽을 수 있습니다.

hasAcceptableInput() 메서드는 라인 에디트의 현재 내용이 입력 마스크의 요구 사항을 충족하지 않는 경우 false를 반환합니다.

예시:

마스크참고
000.000.000.000;_IP 주소; 공백은 _.
HH:HH:HH:HH:HH:HH;_MAC 주소
0000-00-00ISO 날짜; 공백은 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로 변경됩니다.

이는 기본값을 제공해야 하지만 처음에는 기본값이 무엇인지 알 수 없는 경우(예: 양식의 다른 필드에 따라 달라지는 경우)에 유용합니다. 최적의 기본값 없이 라인 에디트를 시작한 다음, 기본값이 확인되었을 때 modified()가 false 를 반환하면(사용자가 텍스트를 입력하지 않은 경우), 기본값을 삽입합니다.

setText()를 호출하면 modified 플래그가 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 : bool

이 속성은 '다시 실행' 기능이 사용 가능한지 여부를 나타냅니다.

사용자가 라인 편집기의 텍스트에 대해 하나 이상의 되돌리기 작업을 수행하면 다시 실행이 가능해집니다.

기본적으로 이 속성의 값은 ' false'입니다.

액세스 함수:

bool isRedoAvailable() const

[read-only] selectedText : QString

이 속성은 선택된 텍스트를 저장합니다.

선택된 텍스트가 없는 경우, 이 속성의 값은 빈 문자열입니다.

기본적으로 이 속성에는 빈 문자열이 포함됩니다.

액세스 함수:

QString selectedText() const

hasSelectedText()도 참조하십시오 .

text : QString

이 속성은 라인 편집 상자의 텍스트를 저장합니다.

이 속성을 설정하면 선택 영역이 지워지고, 실행 취소/다시 실행 기록이 지워지며, 커서가 줄 끝으로 이동하고, ` modified ` 속성이 false로 재설정됩니다. setText()를 통해 텍스트를 삽입할 때는 텍스트 유효성 검사가 수행되지 않습니다.

텍스트는 maxLength() 길이로 잘립니다.

기본적으로 이 속성은 빈 문자열을 포함합니다.

액세스 함수:

QString text() const
void setText(const QString &)

Notifier 신호:

void textChanged(const QString &text)

insert() 및 clear()도 참조하십시오 .

[read-only] undoAvailable : bool

이 속성은 '되돌리기' 기능이 사용 가능한지 여부를 나타냅니다.

사용자가 라인 에디트의 텍스트를 수정하면 '실행 취소' 기능이 사용 가능해집니다.

기본적으로 이 속성의 값은 ` false`입니다.

Access 함수:

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 *event)를 재구현합니다.

[slot] void QLineEdit::clear()

라인 편집 상자의 내용을 지웁니다.

setText() 및 insert()도 참조하십시오 .

QCompleter *QLineEdit::completer() const

완성 기능을 제공하는 현재 QCompleter 객체를 반환합니다.

setCompleter()도 참조하십시오 .

[override virtual protected] void QLineEdit::contextMenuEvent(QContextMenuEvent *event)

QWidget::contextMenuEvent(QContextMenuEvent *event)를 재구현합니다.

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`인 경우에만 적용됩니다.

cut() 및 paste()도 참조하십시오 .

QMenu *QLineEdit::createStandardContextMenu()

사용자가 라인 편집 상자를 마우스 오른쪽 버튼으로 클릭하면 표시되는 표준 컨텍스트 메뉴를 생성합니다. 이 메뉴는 기본 ` contextMenuEvent()` 핸들러에서 호출됩니다. 팝업 메뉴의 소유권은 호출자에게 이전됩니다.

void QLineEdit::cursorBackward(bool mark, int steps = 1)

커서를 steps 개의 문자만큼 뒤로 이동합니다. mark 가 true인 경우, 이동한 각 문자가 선택 영역에 추가됩니다. mark 가 false인 경우, 선택 영역이 지워집니다.

cursorForward()도 참조하십시오 .

void QLineEdit::cursorForward(bool mark, int steps = 1)

커서를 steps 개의 문자만큼 앞으로 이동합니다. mark 가 true인 경우, 이동한 각 문자가 선택 영역에 추가됩니다. mark 가 false인 경우, 선택 영역이 지워집니다.

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 가 true인 경우, 해당 단어도 선택됩니다.

cursorWordForward()도 참조하십시오 .

void QLineEdit::cursorWordForward(bool mark)

커서를 한 단어 앞으로 이동합니다. mark 가 true인 경우, 해당 단어도 선택됩니다.

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 *event)를 재구현합니다.

[override virtual protected] void QLineEdit::dragLeaveEvent(QDragLeaveEvent *e)

QWidget::dragLeaveEvent(QDragLeaveEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::dragMoveEvent(QDragMoveEvent *e)

QWidget::dragMoveEvent(QDragMoveEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::dropEvent(QDropEvent *e)

QWidget::dropEvent(QDropEvent *event)를 재구현합니다.

[signal] void QLineEdit::editingFinished()

이 신호는 Return 키나 Enter 키를 누르거나, 라인 편집 상자의 포커스가 해제되었을 때 이 신호가 마지막으로 발생했을 때 이후로 내용이 변경된 경우 발생합니다.

참고: 라인 편집기에 ` validator()` 또는 ` inputMask()`가 설정되어 있고 Enter/Return 키가 사용된경우 , `editingFinished()` 신호는 입력이 ` inputMask()`를 따르고 ` validator()`가 ` QValidator::Acceptable`를 반환할 때만 발생합니다.

void QLineEdit::end(bool mark)

텍스트 커서가 이미 줄 끝 위치에 있지 않은 경우, 커서를 줄 끝으로 이동합니다. ` mark `가 true인 경우, 텍스트는 마지막 위치 쪽으로 선택됩니다. 그렇지 않은 경우, 커서가 이동하면 선택된 텍스트는 모두 선택 해제됩니다.

home()도 참조하십시오 .

[override virtual] bool QLineEdit::event(QEvent *e)

QWidget::event(QEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::focusInEvent(QFocusEvent *e)

QWidget::focusInEvent(QFocusEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::focusOutEvent(QFocusEvent *e)

QWidget::focusOutEvent(QFocusEvent *event)를 재구현합니다.

void QLineEdit::home(bool mark)

텍스트 커서가 이미 줄의 맨 앞에 있지 않은 경우, 커서를 줄의 맨 앞으로 이동합니다. ` mark `가 true인 경우, 텍스트는 맨 앞 위치 쪽으로 선택됩니다. 그렇지 않은 경우, 커서가 이동하면 선택된 텍스트가 모두 선택 해제됩니다.

end()도 참조하십시오 .

[virtual protected] void QLineEdit::initStyleOption(QStyleOptionFrame *option) const

option 를 QLineEdit 에 있는 값들로 초기화합니다. 이 메서드는 하위 클래스가 QStyleOptionFrame 가 필요하지만 모든 정보를 직접 입력하고 싶지 않을 때 유용합니다.

QStyleOption::initFrom()도 참조하십시오 .

[override virtual protected] void QLineEdit::inputMethodEvent(QInputMethodEvent *e)

QWidget::inputMethodEvent(QInputMethodEvent *event)를 재구현합니다.

[override virtual] QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const

QWidget::inputMethodQuery(const Qt::InputMethodQuery query)를 재구현합니다.

[signal] void QLineEdit::inputRejected()

이 신호는 사용자가 유효한 입력으로 간주되지 않는 키를 사용할 때 발생합니다. 예를 들어, 특정 키를 사용했을 때 유효성 검사기의 ` validate()` 호출 결과가 ` Invalid`을 반환하는 경우입니다. 또 다른 예로는 라인 편집기의 최대 길이를 초과하여 문자를 입력하려고 시도할 때입니다.

참고: 텍스트의 일부만 허용되는 경우에도이 신호는 여전히 발생합니다. 예를 들어, 최대 길이가 설정되어 있는데 클립보드의 텍스트를 붙여넣을 때 그 길이가 최대 길이를 초과하는 경우입니다.

void QLineEdit::insert(const QString &newText)

선택된 텍스트를 모두 삭제하고, newText 를 삽입한 뒤, 그 결과를 유효성 검사합니다. 결과가 유효한 경우, 새로운 텍스트를 라인 편집기의 새 내용으로 설정합니다.

setText() 및 clear()도 참조하십시오 .

[override virtual protected] void QLineEdit::keyPressEvent(QKeyEvent *event)

QWidget::keyPressEvent(QKeyEvent *event)를 재구현합니다.

주어진 키 입력 event 를 라인 편집 액션으로 변환합니다.

Return 또는 Enter 키가 사용되고 현재 텍스트가 유효한 경우(또는 유효성 검사기에 의해 made valid 로 처리될 수 있는 경우), returnPressed() 신호가 발송됩니다.

Default Key Bindings도 참조하십시오 .

[override virtual protected] void QLineEdit::keyReleaseEvent(QKeyEvent *e)

QWidget::keyReleaseEvent(QKeyEvent *event)를 재구현합니다.

[override virtual] QSize QLineEdit::minimumSizeHint() const

QWidget::minimumSizeHint 속성에 대한 액세스 함수를 재구현합니다.

라인 에디트의 최소 크기를 반환합니다.

반환되는 너비는 일반적으로 적어도 한 글자를 표시하기에 충분합니다.

[override virtual protected] void QLineEdit::mouseDoubleClickEvent(QMouseEvent *e)

QWidget::mouseDoubleClickEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::mouseMoveEvent(QMouseEvent *e)

QWidget::mouseMoveEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::mousePressEvent(QMouseEvent *e)

QWidget::mousePressEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::mouseReleaseEvent(QMouseEvent *e)

QWidget::mouseReleaseEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QLineEdit::paintEvent(QPaintEvent *)

QWidget::paintEvent(QPaintEvent *event)를 재구현합니다.

[slot] void QLineEdit::paste()

라인 편집 상자가 ‘ read-only ’ 상태가 아닌 경우, 선택된 텍스트를 삭제하고 클립보드의 텍스트를 커서 위치에 삽입합니다.

최종 결과가 현재 validator 에 대해 유효하지 않은 경우, 아무 작업도 수행되지 않습니다.

copy() 및 cut()도 참조하십시오 .

[slot] void QLineEdit::redo()

`redo`가 ` available`인 경우 마지막 작업을 다시 수행합니다.

[signal] void QLineEdit::returnPressed()

이 신호는 Return 또는 Enter 키가 눌릴 때 발생합니다.

참고: 라인 편집기에 ` validator()` 또는 ` inputMask()`가 설정되어 있는경우 , `returnPressed()` 신호는 입력 내용이 ` inputMask()`에 부합하고 ` validator()`의 반환값이 ` QValidator::Acceptable`일 때에만 발생합니다.

[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()를 사용하여 설정합니다.

QCompleter 를 QValidator 또는 QLineEdit::inputMask 와 함께 사용하려면, 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(QTimerEvent *event)를 재구현합니다.

[slot] void QLineEdit::undo()

`undo`가 ` available`인 경우 마지막 작업을 취소합니다. 현재 선택된 항목을 모두 선택 해제하고, 선택 시작 위치를 현재 커서 위치로 업데이트합니다.

const QValidator *QLineEdit::validator() const

현재 입력 유효성 검사기에 대한 포인터를 반환하며, 유효성 검사기가 설정되어 있지 않은 경우에는 ` nullptr `를 반환합니다.

setValidator()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.