TextInput QML Type

편집 가능한 텍스트 줄을 표시합니다. 더 보기...

Import Statement: import QtQuick
Inherits:

Item

속성

신호

방법

상세 설명

TextInput 유형은 편집 가능한 일반 텍스트를 한 줄로 표시합니다.

TextInput은 한 줄의 텍스트 입력을 받는 데 사용됩니다. 텍스트 입력 항목에 입력 제약 조건을 설정할 수 있으며(예: validator 또는 inputMask), echoMode 을 적절한 값으로 설정하면 텍스트 입력이 비밀번호 입력 필드에 사용될 수 있습니다.

macOS에서는 홈/끝에 대한 위/아래 키 바인딩이 명시적으로 비활성화되어 있습니다. 모든 플랫폼에서 이러한 바인딩을 사용하려면 QML에서 바인딩을 구성해야 합니다.

TextEditText참조하세요 .

속성 문서

horizontalAlignment : enumeration

verticalAlignment : enumeration

TextInput 항목의 너비와 높이 내에서 텍스트의 가로 맞춤을 설정합니다. 기본적으로 텍스트 정렬은 텍스트의 자연스러운 정렬을 따릅니다(예: 왼쪽에서 오른쪽으로 읽는 텍스트는 왼쪽으로 정렬됨).

TextInput 는 자연스러운 높이가 정확히 한 줄의 텍스트 높이이므로 세로 맞춤이 적용되지 않습니다. 높이를 수동으로 더 큰 값으로 설정하면 TextInput 이 항상 세로로 맨 위에 정렬됩니다. 앵커를 사용하여 다른 항목 내에서 원하는 대로 정렬할 수 있습니다.

horizontalAlignment 의 유효한 값은 TextInput.AlignLeft, TextInput.AlignRightTextInput.AlignHCenter 입니다.

verticalAlignment 의 유효한 값은 TextInput.AlignTop (기본값), TextInput.AlignBottom TextInput.AlignVCenter 입니다.

첨부된 속성 LayoutMirroring::enabled 을 사용하여 애플리케이션 레이아웃을 미러링하는 경우 텍스트의 가로 정렬도 미러링됩니다. 그러나 horizontalAlignment 속성은 변경되지 않습니다. TextInput 의 유효 가로 맞춤을 쿼리하려면 읽기 전용 속성 effectiveHorizontalAlignment 을 사용합니다.


bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

이러한 속성은 콘텐츠 주위에 패딩을 유지합니다. 이 공간은 contentWidthcontentHeight 과 함께 예약되어 있습니다.

개별 패딩 속성은 명시적으로 설정되지 않는 한 padding 속성의 값을 가정합니다. 예를 들어 padding4 으로, leftPadding8 으로 설정하면 8 이 왼쪽 패딩으로 사용됩니다.

참고: TextInput 에 명시적인 너비 또는 높이를 지정한 경우 관련 패딩 값을 수용할 수 있을 만큼 충분히 큰지 주의해야 합니다. 예를 들어 topPaddingbottomPadding10 로 설정되어 있지만 TextInput 의 높이가 20 로만 설정되어 있는 경우 텍스트가 렌더링될 세로 공간이 충분하지 않아 잘려서 표시됩니다.


acceptableInput : bool [read-only]

이 속성은 유효성 검사기 또는 입력 마스크가 설정되어 있지 않으면 항상 참입니다. 유효성 검사기 또는 입력 마스크가 설정된 경우 이 속성은 현재 텍스트가 유효성 검사기 또는 입력 마스크에서 중간 문자열이 아닌 최종 문자열로 허용되는 경우에만 참이 됩니다.


activeFocusOnPress : bool

마우스를 누를 때 TextInput 에 활성 포커스를 적용할지 여부입니다. 기본적으로 true로 설정되어 있습니다.


autoScroll : bool

텍스트가 너비보다 길 때 TextInput 을 스크롤할지 여부입니다. 기본적으로 이 값은 true로 설정됩니다.

ensureVisible()도 참조하세요 .


canPaste : bool [read-only]

TextInput 가 쓰기 가능하고 클립보드의 콘텐츠가 TextInput 에 붙여넣기에 적합한 경우 true를 반환합니다.


canRedo : bool [read-only]

TextInput 가 쓰기 가능하고 다시 실행할 수 있는 undone 작업이 있는 경우 참을 반환합니다.


canUndo : bool [read-only]

TextInput 이 쓰기 가능하고 실행 취소할 수 있는 이전 작업이 있으면 참을 반환합니다.


color : color

텍스트 색상.


contentHeight : real [read-only]

텍스트가 설정된 높이에 맞지 않는 경우 가려지는 높이를 포함하여 텍스트의 높이를 반환합니다.


contentWidth : real [read-only]

wrapMode 이 설정된 경우 텍스트가 설정된 너비에 맞지 않을 경우 줄 바꿈이 충분하지 않아 가려진 너비를 포함하여 텍스트의 너비를 반환합니다.


cursorDelegate : Component

TextInput 에서 커서에 대한 델리게이트입니다.

TextInput 에 커서 델리게이트를 설정하면 이 델리게이트가 표준 커서 대신 커서를 그리는 데 사용됩니다. 커서가 필요할 때 델리게이트 인스턴스는 TextInput 에서 생성 및 관리되며, 델리게이트 인스턴스의 x 속성은 현재 문자의 왼쪽 상단에서 1픽셀 앞에 위치하도록 설정됩니다.

델리게이트 컴포넌트의 루트 항목은 QQuickItem 또는 QQuickItem 파생 항목이어야 합니다.


cursorPosition : int

TextInput 에서 커서의 위치는 문자 사이에 커서가 위치합니다.

참고: 이 경우 문자는 QChar 객체의 문자열을 참조하므로 16비트 유니코드 문자이며, 위치는 이 문자열에 대한 인덱스로 간주됩니다. 대리 쌍, 언어 결합 또는 분음 부호 등의 경우처럼 하나의 문자가 여러 유니코드 문자로 표현될 수 있으므로 이는 문자 체계의 개별 문자와 반드시 일치하지는 않습니다.

displayText echoModeTextInput.Password: 로 설정된 경우 각 passwordCharacter 은 "좁은" 문자( TextInput 의 텍스트가 아니더라도 항상 cursorPosition이 1씩 이동)가 됩니다.


cursorRectangle : rectangle [read-only]

텍스트 입력 내에서 표준 텍스트 커서가 렌더링되는 사각형입니다. 읽기 전용입니다.

사용자 지정 cursorDelegate 의 위치와 높이는 변경 시 자동으로 cursorRectangle을 따르도록 업데이트됩니다. 델리게이트의 너비는 커서 직사각형의 변경에 영향을 받지 않습니다.


cursorVisible : bool

TextInput 에 커서가 표시되면 true로 설정됩니다.

이 속성은 TextInput 에 활성 포커스를 가져올 때 설정 및 해제되므로 커서가 현재 표시되고 있는지 여부에 따라 다른 속성을 바인딩할 수 있습니다. 자동으로 설정 및 해제되므로 값을 직접 설정할 때는 값을 덮어쓸 수 있다는 점을 염두에 두어야 합니다.

예를 들어 키프록시가 키를 전달할 수 있고 이 경우 활성 포커스를 부여하지 않고 활성 상태로 보이도록 하려는 경우 스크립트에서 직접 설정할 수 있습니다.

아래 QML과 같이 항목에 직접 설정해서는 안 되는데, 포커스 변경 시 지정된 값이 재정의되어 손실되기 때문입니다.

TextInput {
    text: "Text"
    cursorVisible: false
}

위의 코드 조각에서는 TextInput 에 활성 포커스를 부여해도 커서가 계속 표시됩니다.


displayText : string [read-only]

이것이 TextInput 에 표시되는 텍스트입니다.

echoMode 이 TextInput::Normal로 설정된 경우 TextInput::text 속성과 동일한 값을 보유합니다. 그렇지 않으면 이 속성은 사용자에게 표시되는 텍스트를 보관하고 text 속성은 실제 입력된 텍스트를 보관합니다.

참고: TextInput::text 속성과 달리 여기에는 입력 메서드에서 입력된 부분 텍스트가 포함됩니다.

preeditText참조하세요 .


echoMode : enumeration

TextInput 에 텍스트가 표시되는 방식을 지정합니다.

상수설명
TextInput.Normal텍스트를 그대로 표시합니다. (기본값)
TextInput.Password실제 문자 대신 passwordCharacter 을 표시합니다. 수정하는 동안 새로 입력한 문자는 passwordMaskDelay 속성에 지정된 짧은 기간 동안 일반 텍스트로 표시됩니다.
TextInput.NoEcho아무것도 표시하지 않습니다.
TextInput.PasswordEchoOnEditTextInput.Password 와 같이 콘텐츠가 마스킹됩니다. 편집하는 동안 TextInput 에 활성 초점이 있는 한 새로 입력한 문자는 일반 텍스트로 표시됩니다.

effectiveHorizontalAlignment : enumeration [read-only]

첨부된 속성 LayoutMirroring::enabled 을 사용하여 애플리케이션 레이아웃을 미러링하는 경우 텍스트의 가로 정렬도 미러링됩니다. 그러나 horizontalAlignment 속성은 변경되지 않습니다. TextInput 의 유효 가로 맞춤을 쿼리하려면 읽기 전용 속성 effectiveHorizontalAlignment 을 사용합니다.


font.bold : bool

글꼴 굵기 여부를 설정합니다.


font.capitalization : enumeration

텍스트의 대문자를 설정합니다.

Constant설명
Font.MixedCase일반 경우: 대문자 변경이 적용되지 않습니다.
Font.AllUppercase텍스트가 모든 대문자로 렌더링되도록 변경합니다.
Font.AllLowercase텍스트가 모든 소문자로 렌더링되도록 변경합니다.
Font.SmallCaps텍스트를 소문자 타입으로 렌더링하도록 변경합니다.
Font.Capitalize각 단어의 첫 글자를 대문자로 렌더링할 텍스트를 변경합니다.
TextInput { text: "Hello"; font.capitalization: Font.AllLowercase }

font.contextFontMerging : bool [since 6.8]

선택한 글꼴에 특정 문자가 포함되어 있지 않으면 Qt는 해당 문자가 포함된 비슷한 모양의 대체 글꼴을 자동으로 선택합니다. 기본적으로 이 작업은 문자 단위로 수행됩니다.

즉, 흔하지 않은 특정 경우에는 동일한 스크립트에 있더라도 하나의 텍스트 문자열을 표현하기 위해 여러 가지 글꼴이 사용될 수 있습니다. contextFontMerging 을 true로 설정하면 입력 문자열의 가장 큰 하위 집합과 일치하는 대체 글꼴을 대신 찾습니다. 이 경우 누락된 글리프가 있는 문자열의 경우 비용이 더 많이 들지만 보다 일관된 결과를 얻을 수 있습니다. 기본적으로 contextFontMergingfalse 입니다.

이 프로퍼티는 Qt 6.8에 도입되었습니다.

QFont::StyleStrategy참조하십시오 .


font.family : string

글꼴의 패밀리 이름을 설정합니다.

패밀리 이름은 대소문자를 구분하지 않으며 선택적으로 파운드리 이름(예: "Helvetica [Cronyx]")을 포함할 수 있습니다. 두 개 이상의 파운드리에서 제품군을 사용할 수 있고 파운드리가 지정되지 않은 경우 임의의 파운드리가 선택됩니다. 해당 서체를 사용할 수 없는 경우 글꼴 일치 알고리즘을 사용하여 서체를 설정합니다.


font.features : object [since 6.6]

features 의 내용을 기반으로 텍스트 모양을 만들 때 특정 OpenType 기능에 정수 값을 적용합니다. 이를 통해 글꼴 성형 프로세스에 대한 고급 액세스를 제공하며, API에서 다루지 않는 글꼴 기능을 지원하는 데 사용할 수 있습니다.

글꼴 기능은 4글자 태그에서 정수 값으로의 맵으로 표현됩니다. 대부분의 경우 태그와 함께 전달되는 이 정수 값은 부울 값을 나타냅니다: 0 값은 해당 기능이 비활성화되어 있음을 의미하고, 0이 아닌 값은 활성화되어 있음을 의미합니다. 그러나 특정 글꼴 기능의 경우 다른 해석이 있을 수 있습니다. 예를 들어 salt 기능에 적용된 경우 이 값은 사용할 스타일 대체를 지정하는 인덱스입니다.

예를 들어 frac 글꼴 기능은 슬래시로 구분된 대각선 분수(예: 1/2)를 다른 표현으로 변환합니다. 일반적으로 전체 분수를 단일 문자 너비(예: ½)로 굽는 작업이 포함됩니다.

글꼴이 frac 기능을 지원하는 경우 다음 코드와 같이 셰이퍼에서 해당 기능을 활성화할 수 있습니다:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1 }
}

동일한 매핑에서 여러 기능에 값을 할당할 수 있습니다. 예를 들어 글꼴에 대한 커닝도 비활성화하려는 경우 다음과 같이 명시적으로 비활성화할 수 있습니다:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1, "kern": 0 }
}

객체에서 폰트 속성을 수집할 수도 있습니다:

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

참고: 기본적으로 Qt는 다른 폰트 속성에 따라 특정 폰트 기능을 활성화 및 비활성화합니다. 특히 kern 기능은 QFontfont.kerning 속성에 따라 활성화/비활성화됩니다. 또한 font.letterSpacing 이 설정된 경우 모든 합자 기능(liga, clig, dlig, hlig)이 비활성화되지만, 이는 합자를 사용하는 것이 외관상인 쓰기 시스템에 대해서만 해당됩니다. 합자가 필요한 쓰기 시스템의 경우 기능은 기본 상태로 유지됩니다. font.features 을 사용하여 설정한 값은 기본 동작을 재정의합니다. 예를 들어 "kern" 을 1로 설정하면 font.kerning 속성이 false로 설정되었는지 여부에 관계없이 커닝이 항상 활성화됩니다. 마찬가지로 0 로 설정된 경우 항상 비활성화됩니다.

이 프로퍼티는 Qt 6.6에 도입되었습니다.

QFont::setFeature()도 참조하세요 .


font.hintingPreference : enumeration

텍스트에 대한 기본 힌트를 설정합니다. 이는 특정 수준의 힌트를 사용하도록 기본 텍스트 렌더링 시스템에 대한 힌트이며, 플랫폼에 따라 지원 여부가 다릅니다. 자세한 내용은 QFont::HintingPreference 설명서의 표를 참조하세요.

참고: 이 속성은 렌더 유형 TextInput.NativeRendering과 함께 사용할 때만 효과가 있습니다.

Constant설명
Font.PreferDefaultHinting대상 플랫폼의 기본 힌트 수준을 사용합니다.
Font.PreferNoHinting가능하면 글리프의 윤곽선을 힌트하지 않고 텍스트를 렌더링합니다. 텍스트 레이아웃은 인쇄할 때 사용되는 것과 동일한 메트릭을 사용하여 인쇄상의 정확성을 유지합니다.
Font.PreferVerticalHinting가능하면 가로 힌트 없이 텍스트를 렌더링하되 글리프를 세로 방향의 픽셀 그리드에 정렬합니다. 밀도가 너무 낮아 글리프를 정확하게 렌더링할 수 없는 디스플레이에서는 텍스트가 더 선명하게 표시됩니다. 그러나 글리프의 가로 메트릭은 암시되지 않으므로 텍스트의 레이아웃은 줄 바꿈과 같은 세부 사항에 영향을 주지 않고 고밀도 장치(예: 프린터)로 확장할 수 있습니다.
Font.PreferFullHinting가능하면 가로 및 세로 방향 모두에 힌트가 있는 텍스트를 렌더링하세요. 대상 디바이스에서 가독성을 최적화하기 위해 텍스트가 변경되지만, 텍스트의 대상 크기에 따라 지표가 달라지므로 글리프, 줄 바꿈 및 기타 타이포그래피 디테일의 위치가 조정되지 않으므로 픽셀 밀도가 다른 디바이스에서 텍스트 레이아웃이 다르게 보일 수 있습니다.
TextInput { text: "Hello"; renderType: TextInput.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

font.italic : bool

글꼴에 이탤릭체 스타일을 사용할지 여부를 설정합니다.


font.kerning : bool

텍스트 모양을 만들 때 커닝 OpenType 기능을 활성화 또는 비활성화합니다. 이 기능을 비활성화하면 텍스트를 만들거나 변경할 때 성능이 향상될 수 있지만 일부 외형적 기능이 희생될 수 있습니다. 기본값은 true입니다.

TextInput { text: "OATS FLAVOUR WAY"; font.kerning: false }

font.letterSpacing : real

글꼴의 문자 간격을 설정합니다.

문자 간격은 글꼴의 개별 문자 사이의 기본 간격을 변경합니다. 양수 값은 해당 픽셀만큼 글자 간격을 늘리고 음수 값은 글자 간격을 줄입니다.


font.pixelSize : int

글꼴 크기를 픽셀 단위로 설정합니다.

이 기능을 사용하면 글꼴 장치가 종속됩니다. 글꼴 크기를 기기와 독립적으로 설정하려면 pointSize 을 사용하세요.


font.pointSize : real

글꼴 크기를 포인트 단위로 설정합니다. 포인트 크기는 0보다 커야 합니다.


font.preferShaping : bool

글꼴은 문자를 올바르게 표시하기 위해 문자 집합에 복잡한 규칙을 적용하는 경우가 있습니다. 브라만 문자와 같은 일부 문자 체계에서는 텍스트를 읽기 위해 이러한 규칙이 필요하지만 라틴 문자와 같은 문자 체계에서는 단지 외형적인 기능일 뿐입니다. preferShaping 속성을 false로 설정하면 필요하지 않은 경우 이러한 기능이 모두 비활성화되므로 대부분의 경우 성능이 향상됩니다.

기본값은 true입니다.

TextInput { text: "Some text"; font.preferShaping: false }

font.preferTypoLineMetrics : bool [since 6.8]

글꼴의 ascent, descentleading 을 제공하는 세로줄 메트릭의 경쟁 세트입니다. 이러한 메트릭을 흔히 (Windows) 메트릭과 타이포 (오타) 메트릭이라고 합니다. 사양에서는 줄 간격에 typo 메트릭을 사용할 것을 권장하지만, 글꼴의 fsSelection 필드에 USE_TYPO_METRICS 플래그가 설정되어 있지 않은 한 많은 애플리케이션에서 win 메트릭을 선호합니다. 이는 이전 버전과의 호환성을 위해 Qt 애플리케이션에서도 마찬가지입니다. typo 메트릭이 유효함을 나타내기 위해 USE_TYPO_METRICS 플래그를 설정한 글꼴이나 win 메트릭과 typo 메트릭이 일치하는 글꼴의 경우에는 문제가 되지 않습니다. 그러나 특정 글꼴의 경우 win 메트릭이 바람직한 줄 간격보다 클 수 있으며 실수로 USE_TYPO_METRICS 플래그가 설정되지 않을 수 있습니다. 이러한 글꼴의 경우 font.preferTypoLineMetrics 을 설정하면 더 나은 결과를 얻을 수 있습니다.

기본적으로 preferTypoLineMetricsfalse 입니다.

이 속성은 Qt 6.8에 도입되었습니다.

QFont::StyleStrategy참조하십시오 .


font.strikeout : bool

글꼴에 취소 스타일이 있는지 여부를 설정합니다.


font.styleName : string

글꼴의 스타일 이름을 설정합니다.

스타일 이름은 대소문자를 구분하지 않습니다. 설정하면 글꼴은 글꼴 속성 font.weight, font.boldfont.italic 대신 스타일 이름과 일치합니다.


font.underline : bool

텍스트에 밑줄을 긋는지 여부를 설정합니다.


font.variableAxes : object [since 6.7]

가변 글꼴의 가변 축에 부동 소수점 값을 적용합니다.

가변 글꼴은 동일한 글꼴 파일에 가중치, 너비 또는 스타일이 다른 여러 변형을 저장할 수 있는 방법을 제공합니다. 변형은 "가변 축"이라고 하는 사전 정의된 매개변수 집합에 대한 부동 소수점 값으로 제공됩니다. 특정 인스턴스는 일반적으로 폰트 디자이너가 이름을 지정하며, Qt에서는 기존의 서브 패밀리와 마찬가지로 setStyleName()을 사용하여 선택할 수 있습니다.

경우에 따라 다른 축에 임의의 값을 제공하는 것도 유용합니다. 예를 들어 글꼴에 일반 및 굵게 하위 패밀리가 있는 경우 이 사이에 가중치를 지정하고 싶을 수 있습니다. 그런 다음 글꼴의 "wght" 축에 사용자 지정 값을 제공하여 이를 수동으로 요청할 수 있습니다.

Text {
    text: "Foobar"
    font.family: "MyVariableFont"
    font.variableAxes: { "wght": (Font.Normal + Font.Bold) / 2.0 }
}

글꼴에서 "wght" 축이 지원되고 지정된 값이 정의된 범위 내에 있으면 가중치 550.0에 해당하는 글꼴이 제공됩니다.

많은 글꼴이 제공하는 표준 축은 "wght"(무게), "wdth"(너비), "ital"(이탤릭체), "opsz"(광학 크기) 등 몇 가지가 있습니다. 이러한 글꼴에는 각각 글꼴 자체에 정의된 개별 범위가 있습니다. 예를 들어 'wght'는 100~900(QFont::Thin ~ QFont::Black) 범위인 반면 'ital'은 0~1(이탤릭체 없음에서 완전 이탤릭체까지) 범위일 수 있습니다.

글꼴은 사용자 정의 축을 정의하도록 선택할 수도 있습니다. 유일한 제한은 이름이 QFont::Tag (라틴 1 문자 4개로 구성된 시퀀스)의 요구 사항을 충족해야 한다는 것입니다.

기본적으로 가변 축은 설정되어 있지 않습니다.

참고: Windows에서 선택적 GDI 글꼴 백엔드를 사용 중인 경우 가변 축이 지원되지 않습니다.

이 속성은 Qt 6.7에 도입되었습니다.

QFont::setVariableAxis()도 참조하세요 .


font.weight : int

글꼴의 요청된 무게입니다. 요청된 가중치는 1에서 1000 사이의 정수이거나 미리 정의된 값 중 하나여야 합니다:

Constant설명
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400(기본값)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
TextInput { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

글꼴의 단어 간격을 설정합니다.

단어 간격은 개별 단어 사이의 기본 간격을 변경합니다. 양수 값은 해당 픽셀만큼 단어 간격을 늘리고 음수 값은 그에 따라 단어 간 간격을 줄입니다.


inputMask : string

TextInput 에서 입력 마스크를 설정하여 허용되는 텍스트 입력을 제한할 수 있습니다. TextInput 에서 정확히 동일한 마스크 문자열을 사용하므로 자세한 내용은 QLineEdit::inputMask 을 참조하세요.

acceptableInputvalidator도 참조하세요 .


inputMethodComposing : bool [read-only]

이 속성은 TextInput 에 입력 메서드에서 부분 텍스트 입력이 있는지 여부를 보유합니다.

입력 메서드를 작성하는 동안 TextInput 의 마우스 또는 키 이벤트에 의존하여 부분 텍스트를 편집하거나 커밋할 수 있습니다. 이 속성은 입력 메서드의 올바른 작동을 방해할 수 있는 이벤트 핸들러를 비활성화할 시기를 결정하는 데 사용할 수 있습니다.


inputMethodHints : enumeration

입력 메서드에 텍스트 입력의 예상 콘텐츠와 작동 방식에 대한 힌트를 제공합니다.

이 값은 비트 단위의 플래그 조합이며, 힌트가 설정되지 않은 경우 Qt.ImhNone입니다.

동작을 변경하는 플래그는 다음과 같습니다:

Constant설명
Qt.ImhHiddenText비밀번호를 입력할 때 일반적으로 사용되는 것처럼 문자를 숨겨야 합니다.
Qt.ImhSensitiveData입력된 텍스트는 활성 입력 메서드가 예측 사용자 사전과 같은 영구 저장소에 저장해서는 안 됩니다.
Qt.ImhNoAutoUppercase입력 방법은 문장이 끝날 때 자동으로 대문자로 전환하려고 시도해서는 안 됩니다.
Qt.ImhPreferNumbers숫자가 선호되지만 필수는 아닙니다.
Qt.ImhPreferUppercase대문자를 선호하지만 필수는 아닙니다.
Qt.ImhPreferLowercase소문자를 선호하지만 필수는 아닙니다.
Qt.ImhNoPredictiveText입력하는 동안 예측 텍스트(예: 사전 조회)를 사용하지 마세요.
Qt.ImhDate텍스트 편집기는 날짜 필드로 작동합니다.
Qt.ImhTime텍스트 편집기는 시간 필드로 작동합니다.

입력을 제한하는 플래그(독점 플래그)는 다음과 같습니다:

상수설명
Qt.ImhDigitsOnly숫자만 허용됩니다.
Qt.ImhFormattedNumbersOnly숫자 입력만 허용됩니다. 여기에는 소수점 및 마이너스 기호가 포함됩니다.
Qt.ImhUppercaseOnly대문자 입력만 허용됩니다.
Qt.ImhLowercaseOnly소문자 입력만 허용됩니다.
Qt.ImhDialableCharactersOnly전화 걸기에 적합한 문자만 허용됩니다.
Qt.ImhEmailCharactersOnly이메일 주소에 적합한 문자만 허용됩니다.
Qt.ImhUrlCharactersOnlyURL에 적합한 문자만 허용됩니다.

마스크:

상수설명
Qt.ImhExclusiveInputMask이 마스크는 배타적 플래그가 사용되면 0이 아닌 값을 반환합니다.

length : int [read-only]

TextInput 항목의 총 문자 수를 반환합니다.

TextInputinputMask 이 있는 경우 이 길이에는 마스크 문자가 포함되며 text 속성에서 반환하는 문자열의 길이와 다를 수 있습니다.

이 속성은 TextInput 의 내부 문자열 데이터를 복사하거나 변환할 필요가 없으므로 text 속성에서 길이를 쿼리하는 것보다 빠를 수 있습니다.


maximumLength : int

TextInput 에서 허용되는 텍스트의 최대 길이입니다.

텍스트가 너무 길면 제한에서 잘립니다.

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


mouseSelectionMode : enumeration

마우스를 사용하여 텍스트를 선택하는 방법을 지정합니다.

상수설명
TextInput.SelectCharacters(기본값) 선택 영역이 개별 문자로 업데이트됩니다.
TextInput.SelectWords선택 영역이 전체 단어로 업데이트됩니다.

이 속성은 selectByMouse 가 참인 경우에만 적용됩니다.


overwriteMode : bool

사용자가 입력한 텍스트를 기존 텍스트를 덮어쓸지 여부입니다.

대부분의 텍스트 편집기와 마찬가지로 텍스트 편집기 위젯은 사용자가 입력한 새 텍스트로 기존 텍스트를 삽입하거나 덮어쓰도록 구성할 수 있습니다.

이 속성이 true 인 경우 기존 텍스트를 새 텍스트로 한 글자씩 덮어쓰고, 그렇지 않으면 커서 위치에 텍스트가 삽입되어 기존 텍스트를 대체합니다.

기본적으로 이 속성은 false 입니다(새 텍스트는 기존 텍스트를 덮어쓰지 않음).


passwordCharacter : string

echoMode 가 Password 또는 PasswordEchoOnEdit로 설정된 경우 표시되는 문자입니다. 기본적으로 이 문자는 플랫폼 테마에서 사용하는 비밀번호 문자입니다.

이 속성이 두 개 이상의 문자가 포함된 문자열로 설정된 경우 첫 번째 문자가 사용됩니다. 문자열이 비어 있으면 값이 무시되고 속성이 설정되지 않습니다.


passwordMaskDelay : int

표시되는 문자가 비밀번호 문자로 마스킹되기까지의 지연 시간(밀리초)을 설정합니다.

재설정 메서드는 정의되지 않은 값을 할당하여 호출됩니다.


persistentSelection : bool

씬의 다른 항목으로 활성 포커스를 잃었을 때 TextInput 선택 내용을 유지할지 여부입니다. 기본적으로 이 값은 false로 설정됩니다;


preeditText : string [read-only]

이 속성에는 입력 메서드에서 부분 텍스트 입력이 포함됩니다.

예측 결과의 부분 텍스트를 끄려면 inputMethodHints 에서 Qt.ImhNoPredictiveText 플래그를 설정합니다.

displayTextinputMethodHints참조하세요 .


readOnly : bool

사용자 입력으로 TextInput 의 내용을 수정할 수 있는지 여부를 설정합니다.

readOnly가 true로 설정되면 사용자 입력이 텍스트 속성에 영향을 미치지 않습니다. 텍스트 속성을 설정하려는 모든 바인딩 또는 시도는 계속 작동합니다.


renderType : enumeration

이 컴포넌트의 기본 렌더링 유형을 재정의합니다.

지원되는 렌더링 유형은 다음과 같습니다:

Constant설명
TextInput.QtRendering각 글리프에 대해 확장 가능한 거리 필드를 사용하여 텍스트가 렌더링됩니다.
TextInput.NativeRendering텍스트는 플랫폼별 기술을 사용하여 렌더링됩니다.
TextInput.CurveRendering그래픽 하드웨어에서 직접 실행되는 커브 래스터라이저를 사용하여 텍스트가 렌더링됩니다. (Qt 6.7.0에 도입되었습니다.)

텍스트가 대상 플랫폼에서 네이티브처럼 보이도록 하고 텍스트 변형과 같은 고급 기능이 필요하지 않은 경우 TextInput.NativeRendering 을 선택합니다. 이러한 기능을 네이티브 렌더링 렌더링 유형과 함께 사용하면 결과가 좋지 않고 때로는 픽셀화될 수 있습니다.

TextInput.QtRenderingTextInput.CurveRendering 는 모두 하드웨어 가속 기술입니다. QtRendering 는 둘 중 더 빠르지만 메모리를 더 많이 사용하며 큰 크기에서는 렌더링 아티팩트가 나타납니다. CurveRenderingQtRendering 가 좋은 시각적 결과를 제공하지 않거나 그래픽 메모리 소비를 줄이는 것이 우선인 경우 대안으로 고려해야 합니다.

기본 렌더링 유형은 QQuickWindow::textRenderType()에 의해 결정됩니다.


selectByMouse : bool

기본값은 true 입니다.

true인 경우 사용자는 일반적인 방법으로 마우스를 사용하여 텍스트를 선택할 수 있습니다.

참고: 6.4 이전 버전에서는 기본값이 false 이었지만 이 속성을 활성화하면 터치스크린에서 손가락으로 드래그하여 텍스트를 선택할 수도 있습니다. 이는 플릭 가능 내에서 TextInput 을 사용할 때 플릭을 방해했습니다. TextField 와의 일관성을 위해 이제 selectByMouse는 실제로 의미 그대로 true 의 경우 마우스로만 드래그하여 텍스트를 선택할 수 있습니다. 이 변경이 애플리케이션에 적합하지 않은 경우 selectByMousefalse 으로 설정하거나 이전 API 버전(예: import QtQuick 6.3)을 가져와서 이전 동작으로 되돌릴 수 있습니다. 가져오기 버전을 변경하여 동작을 되돌릴 수 있는 옵션은 이후 버전의 Qt에서 제거될 예정입니다.


selectedText : string [read-only]

이 읽기 전용 속성은 텍스트 입력에서 현재 선택된 텍스트를 제공합니다.

다음 스니펫과 동일하지만 더 빠르고 사용하기 쉽습니다.

myTextInput.text.toString().substring(myTextInput.selectionStart,
    myTextInput.selectionEnd);

selectedTextColor : color

선택 영역에 사용되는 강조 표시된 텍스트 색상입니다.


selectionColor : color

선택 영역 뒤에 사용되는 텍스트 강조 표시 색상입니다.


selectionEnd : int [read-only]

현재 선택 영역에서 마지막 문자 뒤의 커서 위치입니다.

이 속성은 읽기 전용입니다. 선택 영역을 변경하려면 select(start,end), selectAll() 또는 selectWord()를 사용합니다.

selectionStart, cursorPosition, selectedText참조하세요 .


selectionStart : int [read-only]

현재 선택 영역에서 첫 번째 문자 앞의 커서 위치입니다.

이 속성은 읽기 전용입니다. 선택 영역을 변경하려면 select(start,end), selectAll() 또는 selectWord()를 사용합니다.

selectionEnd, cursorPosition, selectedText참조하세요 .


text : string

TextInput.

일부 키보드에서는 예측 기능을 사용합니다. 이 경우 입력 메서드로 작성되는 텍스트는 이 속성의 일부가 아닙니다. 예측과 관련된 텍스트 부분은 밑줄이 그어져 preeditText 속성에 저장됩니다. TextInput 에 전체 텍스트를 표시하려면 displayText 속성을 사용합니다.

clear(), displayText, preeditText참조하세요 .


validator : Validator

TextInput 에 유효성 검사기를 설정할 수 있습니다. 유효성 검사기를 설정하면 TextInput 은 텍스트 속성이 허용 가능 또는 중간 상태인 입력만 허용합니다. 허용 신호는 Enter 키를 눌렀을 때 텍스트가 허용 가능한 상태인 경우에만 전송됩니다.

현재 지원되는 유효성 검사기는 IntValidator, DoubleValidatorRegularExpressionValidator 입니다. 유효성 검사기 사용 예는 아래와 같으며, 11에서 31 사이의 정수를 텍스트 입력에 입력할 수 있습니다:

import QtQuick 2.0
TextInput{
    validator: IntValidator{bottom: 11; top: 31;}
    focus: true
}

acceptableInputinputMask참조하세요 .


wrapMode : enumeration

이 속성을 설정하면 TextInput 항목의 너비로 텍스트를 줄 바꿈합니다. 명시적인 너비가 설정된 경우에만 텍스트가 줄 바꿈됩니다.

상수설명
TextInput.NoWrap(기본값): 줄 바꿈이 수행되지 않습니다. 텍스트에 개행이 충분하지 않은 경우 contentWidth 은 설정된 너비를 초과합니다.
TextInput.WordWrap단어 경계에서만 줄 바꿈이 수행됩니다. 단어가 너무 길면 contentWidth 이 설정된 너비를 초과합니다.
TextInput.WrapAnywhere줄 바꿈은 단어 중간에 발생하더라도 줄 바꿈이 행의 어느 지점에서나 수행됩니다.
TextInput.Wrap가능하면 단어 경계에서 줄 바꿈이 발생하고, 그렇지 않으면 단어 중간에 있더라도 줄의 적절한 지점에서 줄 바꿈이 발생합니다.

기본값은 TextInput.NoWrap입니다. 너비를 설정하는 경우 TextInput.Wrap을 사용하는 것이 좋습니다.


신호 문서

accepted()

이 신호는 Return 또는 Enter 키를 누를 때 발생합니다. 텍스트 입력에 validator 또는 inputMask 이 설정되어 있는 경우 입력이 허용 가능한 상태인 경우에만 신호가 발생한다는 점에 유의하세요.

참고: 해당 핸들러는 onAccepted 입니다.


editingFinished()

이 신호는 Return 또는 Enter 키를 누르거나 텍스트 입력의 초점이 사라지면 발생합니다. 텍스트 입력에 유효성 검사기 또는 inputMask 가 설정되어 있고 Enter/리턴을 누른 경우 입력이 inputMask 에 이어서 유효성 검사기가 허용 가능한 상태를 반환하는 경우에만 이 신호가 전송된다는 점에 유의하세요.

참고: 해당 핸들러는 onEditingFinished 입니다.


textEdited()

이 신호는 텍스트가 편집될 때마다 발생합니다. textChanged() 과 달리 이 신호는 text 속성 값을 변경하거나 clear() 을 호출하는 등 프로그래밍 방식으로 텍스트가 변경된 경우에는 발생하지 않습니다.

참고: 해당 핸들러는 onTextEdited 입니다.


메서드 문서

clear()

텍스트 입력 내용을 지우고 입력 메서드에서 일부 텍스트 입력을 재설정합니다.

text 속성을 빈 문자열로 설정하는 대신 이 메서드를 사용합니다.

QInputMethod::reset()도 참조하세요 .


copy()

현재 선택된 텍스트를 시스템 클립보드에 복사합니다.

참고: 에코 모드가 일반 이외의 모드로 설정되어 있으면 복사가 작동하지 않습니다. 이는 라인 컨트롤의 비밀번호 기능을 우회하는 방법으로 복사를 사용하는 것을 방지하기 위한 것입니다.


cut()

현재 선택된 텍스트를 시스템 클립보드로 이동합니다.

참고: 에코 모드가 일반 이외의 모드로 설정되어 있으면 잘라내기가 작동하지 않습니다. 이는 잘라내기를 선 컨트롤의 비밀번호 기능을 우회하는 방법으로 사용하는 것을 방지하기 위한 것입니다.


deselect()

활성 텍스트 선택을 제거합니다.


ensureVisible(int position)

텍스트 입력의 경계 안에 지정된 문자 position 가 보이도록 텍스트 입력의 내용을 스크롤합니다.

autoScroll참조하십시오 .


string getText(int start, int end)

startend 위치 사이에 있는 텍스트 섹션을 반환합니다.

TextInputinputMask 이 있는 경우 길이에 마스크 문자가 포함됩니다.


insert(int position, string text)

position 에서 TextInputtext 을 삽입합니다.


isRightToLeft(int start, int end)

startend 위치 사이에 있는 편집기 텍스트의 자연스러운 읽기 방향이 오른쪽에서 왼쪽인 경우 true를 반환합니다.


moveCursorSelection(int position, SelectionMode mode)

커서를 position 로 이동하고 선택적 mode 매개변수에 따라 선택 영역을 업데이트합니다. (커서만 이동하려면 cursorPosition 속성을 설정합니다.)

이 메서드를 호출하면 selectionStart 또는 selectionEnd (이전 커서 위치에 있던 것 중 하나)를 지정된 위치로 추가로 설정합니다. 이를 통해 선택한 텍스트 범위를 쉽게 확장 및 축소할 수 있습니다.

선택 모드는 선택 내용을 문자 단위로 업데이트할지, 단어 단위로 업데이트할지를 지정합니다. 지정하지 않으면 선택 모드의 기본값은 TextInput.SelectCharacters 입니다.

상수설명
TextInput.SelectCharactersselectionStart 또는 selectionEnd (이전 커서 위치에 있던 것 중 하나)을 지정된 위치로 설정합니다.
TextInput.SelectWords지정한 위치와 이전 커서 위치 사이의 모든 단어를 포함하도록 selectionStartselectionEnd 을 설정합니다. 범위 내에 부분적으로 포함된 단어도 포함됩니다.

예를 들어 이 호출 시퀀스를 살펴봅시다:

cursorPosition = 5
moveCursorSelection(9, TextInput.SelectCharacters)
moveCursorSelection(7, TextInput.SelectCharacters)

커서를 5번 위치로 이동하고 선택 끝을 5에서 9로 확장한 다음 선택 끝을 9에서 7로 후퇴시켜 5번에서 7번 위치의 텍스트(6번째 및 7번째 문자)가 선택된 상태로 유지합니다.

TextInput.SelectWords와 동일한 순서로 선택 시작을 5번 위치 이전 또는 위의 단어 경계로 확장하고 선택 끝을 9번 위치 또는 과거의 단어 경계로 확장합니다.


paste()

현재 선택된 텍스트를 시스템 클립보드의 콘텐츠로 바꿉니다.


int positionAt(real x, real y, CursorPosition position)

이 함수는 텍스트 입력의 왼쪽 상단에서 xy 픽셀의 문자 위치를 반환합니다. 위치 0은 첫 번째 문자 앞, 위치 1은 첫 번째 문자 뒤이지만 두 번째 문자 앞, 그리고 모든 문자 뒤인 text.length 위치까지 계속됩니다.

즉, 첫 번째 문자 이전의 모든 x 값에 대해 이 함수는 0을 반환하고 마지막 문자 이후의 모든 x 값에 대해 이 함수는 text.length를 반환합니다. y 값이 텍스트 위에 있으면 첫 번째 줄에서 가장 가까운 문자의 위치가 반환되고, 텍스트 아래에 있으면 마지막 줄에서 가장 가까운 문자의 위치가 반환됩니다.

커서 position 매개 변수는 커서 위치 확인 방법을 지정합니다:

상수설명
TextInput.CursorBetweenCharacters가장 가까운 문자 사이의 위치를 반환합니다. 기본값은 x입니다.
TextInput.CursorOnCharacterx에 가장 가까운 문자 앞의 위치를 반환합니다.

rect positionToRectangle(int pos)

이 함수는 문자 위치 pos 를 받아 커서가 해당 문자 위치에 있을 경우 커서가 차지할 사각형을 반환합니다.

이는 cursorPosition 을 설정한 다음 커서 사각형을 쿼리하는 것과 유사하지만 cursorPosition 은 변경되지 않습니다.


redo()

다시 실행이 available 인 경우 마지막 작업을 다시 실행합니다.


remove(int start, int end)

TextInput 에서 startend 위치 사이에 있는 텍스트 섹션을 제거합니다.


select(int start, int end)

start 에서 end 의 텍스트가 선택되도록 합니다.

시작 또는 끝이 범위를 벗어난 경우 선택 내용이 변경되지 않습니다.

이 메서드를 호출하면 이 메서드로 전달된 순서에 관계없이 selectionStart 이 더 작아지고 selectionEnd 이 더 커집니다.

selectionStartselectionEnd참조하세요 .


selectAll()

모든 텍스트가 선택되도록 합니다.


selectWord()

현재 커서 위치에 가장 가까운 단어가 선택되도록 합니다.


undo()

실행 취소가 available 인 경우 마지막 작업을 실행 취소합니다. 현재 선택 내용을 모두 선택 취소하고 선택 시작 부분을 현재 커서 위치로 업데이트합니다.


© 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.