Text QML Type
씬에 서식이 지정된 텍스트를 추가하는 방법을 설명합니다. 더 보기...
속성
- advance : size
- antialiasing : bool
- baseUrl : url
- bottomPadding : real
- clip : bool
- color : color
- contentHeight : real
- contentWidth : real
- effectiveHorizontalAlignment : enumeration
- elide : enumeration
- font.bold : bool
- font.capitalization : enumeration
- font.contextFontMerging : bool
(since 6.8) - font.family : string
- font.features : object
(since 6.6) - font.hintingPreference : enumeration
- font.italic : bool
- font.kerning : bool
- font.letterSpacing : real
- font.pixelSize : int
- font.pointSize : real
- font.preferShaping : bool
- font.preferTypoLineMetrics : bool
(since 6.8) - font.strikeout : bool
- font.styleName : string
- font.underline : bool
- font.variableAxes : object
(since 6.7) - font.weight : int
- font.wordSpacing : real
- fontInfo.bold : bool
- fontInfo.family : string
- fontInfo.italic : bool
- fontInfo.pixelSize : int
- fontInfo.pointSize : real
- fontInfo.styleName : string
- fontInfo.weight : int
- fontSizeMode : enumeration
- horizontalAlignment : enumeration
- hoveredLink : string
- leftPadding : real
- lineCount : int
- lineHeight : real
- lineHeightMode : enumeration
- linkColor : color
- maximumLineCount : int
- minimumPixelSize : int
- minimumPointSize : int
- padding : real
- renderType : enumeration
- renderTypeQuality : int
(since 6.0) - rightPadding : real
- style : enumeration
- styleColor : color
- text : string
- textFormat : enumeration
- topPadding : real
- truncated : bool
- verticalAlignment : enumeration
- wrapMode : enumeration
신호
- lineLaidOut(object line)
- linkActivated(string link)
- linkHovered(string link)
방법
- void forceLayout()
- string linkAt(real x, real y)
자세한 설명
텍스트 항목은 일반 텍스트와 서식이 적용된 텍스트를 모두 표시할 수 있습니다. 예를 들어, 다음과 같이 특정 글꼴과 크기를 가진 빨간색 텍스트를 정의할 수 있습니다:
Text {
text: "Hello World!"
font.family: "Helvetica"
font.pointSize: 24
color: "red"
}HTML 스타일 마크업이나 마크다운을 사용하여 서식 있는 텍스트를 정의할 수 있습니다:
Text {
text: "<b>Hello</b> <i>World!</i>"
}Text {
text: "**Hello** *World!*"
}
높이와 너비가 명시적으로 설정되지 않은 경우, Text는 필요한 공간을 파악하여 그에 따라 설정합니다. ` wrapMode `가 설정되어 있지 않은 한, 항상 높보다 너비를 우선시합니다(모든 텍스트가 한 줄로 배치됨).
한 줄의 일반 텍스트를 지정된 너비에 맞추려면 elide 속성을 사용할 수 있습니다.
참고: 지원되는 HTML 하위 집합은 제한적입니다. 이 기능은 HTML 표준을 준수하기 위한 것이 아니라, 텍스트 레이블에 스타일을 적용하기 편하도록 제공되는 것입니다. 또한, 텍스트에 원격 이미지를 불러오는 HTML ` img ` 태그가 포함되어 있는 경우, 텍스트가 다시 로드됩니다.
Text는 읽기 전용 텍스트를 제공합니다. 편집 가능한 텍스트에 대해서는 TextEdit 를 참조하십시오.
경고: 기본적으로 Text는 text 의 내용을 기준으로 textFormat 를 감지합니다. Text.StyledText 또는 Text.MarkdownText 로 판정될 경우, Text 컴포넌트는 색상 변경, 글꼴 스타일 및 인라인 이미지 삽입과 같은 리치 텍스트 기능을 지원합니다. 이 기능에는 네트워크를 통해 원격으로 이미지를 불러오는 작업이 포함됩니다. 따라서 사용자가 제어하는 신뢰할 수 없는 콘텐츠를 표시할 때는 ` textFormat `를 명시적으로 ` Text.PlainText`로 설정하거나, 콘텐츠에서 원치 않는 태그를 제거해야 합니다.
'글꼴' 예제도참조하십시오 .
속성 설명서
advance : size [read-only]
텍스트 항목의 첫 번째 문자의 기준선 원점부터, 텍스트 흐름에서 이 항목 바로 다음에 나오는 텍스트 항목의 첫 번째 문자의 기준선 원점까지의 거리(픽셀 단위).
텍스트가 오른쪽에서 왼쪽으로 흐르는 경우, 이 간격 값이 음수가 될 수 있음을 유의하십시오.
antialiasing : bool
텍스트에 앤티앨리어싱을 적용할지 여부를 결정하는 데 사용됩니다. renderType 속성이 Text.NativeRendering으로 설정된 텍스트만 앤티앨리어싱을 비활성화할 수 있습니다.
기본값은 true 입니다.
baseUrl : url
이 속성은 텍스트 내의 상대 URL을 해결하는 데 사용되는 기본 URL을 지정합니다.
URL은 기준 URL의 대상과 동일한 디렉터리 내에 있는 것으로 해석되며, 이는 경로의 마지막 '/' 이후 부분은 모두 무시됨을 의미합니다.
| 기본 URL | 상대 URL | 해결된 URL |
|---|---|---|
| http://qt-project.org/ | images/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/index.html | images/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/content | images/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/ | images/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/index.html | images/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/index.html | ../images/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/content/index.html | /images/logo.png | http://qt-project.org/images/logo.png |
기본값은 Text 항목을 인스턴스화하는 QML 파일의 URL입니다.
이 속성들은 콘텐츠 주변의 패딩을 지정합니다. 이 공간은 ‘ contentWidth ’ 및 ‘ contentHeight ’에 더해 별도로 할당됩니다.
clip : bool
이 속성은 텍스트가 잘리는지 여부와 관계없이 적용됩니다.
텍스트가 경계 사각형에 들어가지 않을 경우, 텍스트가 갑작스럽게 잘린다는 점에 유의하십시오.
제한된 공간에 길어질 가능성이 있는 텍스트를 표시하려는 경우, 대신 ` elide `를 사용하는 것이 좋습니다.
color : color
텍스트 색상.
16진수 표기법을 사용하여 정의된 녹색 텍스트의 예:
Text {
color: "#00FF00"
text: "green text"
}SVG 색상 이름을 사용하여 정의한 스틸 블루 텍스트의 예:
Text {
color: "steelblue"
text: "blue text"
}contentHeight : real [read-only]
설정된 높이에 들어가지 않는 텍스트가 있어 가려진 부분을 제외한 나머지 텍스트의 높이를 포함한 텍스트의 전체 높이를 반환합니다.
contentWidth : real [read-only]
WrapMode가 설정된 경우, 줄 바꿈이 제대로 이루어지지 않아 텍스트가 넘쳐나는 부분을 포함하여 텍스트의 너비를 반환합니다.
effectiveHorizontalAlignment : enumeration [read-only]
horizontalAlignment : enumeration
verticalAlignment : enumeration
텍스트 항목의 너비와 높이 범위 내에서 텍스트의 가로 및 세로 정렬을 설정합니다. 기본적으로 텍스트는 세로 방향으로 상단에 정렬됩니다. 가로 정렬은 텍스트의 자연스러운 정렬 방향을 따릅니다. 예를 들어, 왼쪽에서 오른쪽으로 읽는 텍스트는 왼쪽으로 정렬됩니다.
horizontalAlignment 의 유효한 값은 Text.AlignLeft, Text.AlignRight, Text.AlignHCenter 및 Text.AlignJustify 입니다. verticalAlignment 의 유효한 값은 Text.AlignTop, Text.AlignBottom 및 Text.AlignVCenter 입니다.
단일 텍스트 줄의 경우, 텍스트 크기는 텍스트가 차지하는 영역과 동일합니다. 이러한 일반적인 경우, 모든 정렬 방식은 동일하게 적용됩니다. 예를 들어, 텍스트를 부모 요소의 중앙에 정렬하려면 Item::anchors 를 수정하거나, horizontalAlignment 를 Text.AlignHCenter로 설정하고 너비를 부모 요소의 너비에 바인딩해야 합니다.
첨부 속성 LayoutMirroring::enabled 을 사용하여 애플리케이션 레이아웃을 미러링할 경우, 텍스트의 수평 정렬도 미러링됩니다. 그러나 속성 horizontalAlignment 은 변경되지 않습니다. Text의 실제 수평 정렬을 조회하려면 읽기 전용 속성 effectiveHorizontalAlignment 을 사용하십시오.
elide : enumeration
이 속성을 설정하면 텍스트 항목의 너비에 맞게 텍스트의 일부가 생략됩니다. 텍스트는 명시적인 너비가 설정된 경우에만 생략됩니다.
이 속성은 Text.PlainText 및 Text.StyledText 형식에서는 작동하지만, Text.RichText 또는 Text.MarkdownText 형식에서는 사용할 수 없습니다.
생략 방식은 다음과 같습니다:
| 상수 | 설명 |
|---|---|
Text.ElideNone | - 기본값 |
Text.ElideLeft | |
Text.ElideMiddle | |
Text.ElideRight |
이 속성이 Text.ElideRight로 설정된 경우, wrapped 텍스트와 함께 사용할 수 있습니다. 텍스트는 maximumLineCount 또는 height 가 설정된 경우에만 생략됩니다. maximumLineCount 와 height 가 모두 설정된 경우, 줄이 허용된 높이에 들어가지 않는 한 maximumLineCount 가 적용됩니다.
텍스트가 여러 길이의 문자열이고 모드가 Text.ElideNone 가 아닌 경우, 들어맞는 첫 번째 문자열이 사용되며, 그렇지 않으면 마지막 문자열이 생략됩니다.
다중 길이 문자열은 가장 긴 것부터 가장 짧은 것까지 순서대로 나열되며, 유니코드 "문자열 종결자" 문자 U009C 로 구분됩니다(QML에서는 "\u009C" 또는 "\x9C" 로 작성합니다).
font.bold : bool
글꼴의 굵기를 굵게로 설정할지 여부를 지정합니다.
font.capitalization : enumeration
텍스트의 대소문자 사용 방식을 설정합니다.
| 상수 | 설명 |
|---|---|
Font.MixedCase | 일반 경우: 대소문자 변경이 적용되지 않습니다 |
Font.AllUppercase | 텍스트를 모두 대문자로 렌더링하도록 변경합니다 |
Font.AllLowercase | 텍스트가 모두 소문자로 렌더링되도록 변경합니다. |
Font.SmallCaps | 텍스트를 소문자 대문자(small-caps)로 렌더링하도록 변경합니다 |
Font.Capitalize | 각 단어의 첫 글자를 대문자로 표시하도록 텍스트를 변경합니다 |
font.contextFontMerging : bool [since 6.8]
선택한 글꼴에 특정 문자가 포함되어 있지 않은 경우, Qt는 해당 문자가 포함된 모양이 비슷한 대체 글꼴을 자동으로 선택합니다. 기본적으로 이 작업은 문자 단위로 수행됩니다.
즉, 드문 경우이긴 하지만 동일한 문자 체계에 속하는 텍스트 한 줄을 표현하는 데에도 여러 가지 다른 글꼴이 사용될 수 있습니다. ` contextFontMerging `을 true로 설정하면, 대신 입력 문자열의 가장 큰 부분 집합과 일치하는 대체 글꼴을 찾으려고 시도합니다. 글리프가 누락된 문자열의 경우 이 작업에 더 많은 비용이 들 수 있지만, 더 일관된 결과를 얻을 수 있습니다. 기본적으로 ` contextFontMerging `의 값은 ` false`입니다.
이 속성은 Qt 6.8에서 도입되었습니다.
QFont::StyleStrategy도 참조하십시오 .
font.family : string
글꼴의 패밀리 이름을 설정합니다.
패밀리 이름은 대소문자를 구분하지 않으며, 선택적으로 폰트 제작사 이름을 포함할 수 있습니다(예: "Helvetica [Cronyx]"). 해당 글꼴 패밀리가 두 개 이상의 폰트 제작사에서 제공되며 폰트 제작사가 명시되지 않은 경우, 임의의 폰트 제작사가 선택됩니다. 해당 글꼴 패밀리를 사용할 수 없는 경우, 글꼴 매칭 알고리즘을 사용하여 글꼴 패밀리가 설정됩니다.
font.features : object [since 6.6]
내용에 따라 텍스트를 변형할 때 특정 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 ’ 기능은 ‘ font::kerning ’ 속성에 따라 활성화되거나 비활성화됩니다. 또한, ‘ ’가 설정된 경우 모든 리가처 기능(liga, clig,
dlig, hlig)은 font.letterSpacing 가 설정된 경우 비활성화되지만, 이는 리가처의 사용이 순전히 미적 목적인 문자 체계에만 해당됩니다. 리가처가 필수적인 문자 체계의 경우, 해당 기능은 기본 상태를 유지합니다. font.features 를 사용하여 설정된 값은 기본 동작을 재정의합니다. 예를 들어, "kern" 가 1로 설정된 경우, font::kerning 속성이 false로 설정되어 있더라도 커닝은 항상 활성화됩니다. 마찬가지로,
0 으로 설정된 경우, 커닝은 항상 비활성화됩니다.
이 속성은 Qt 6.6에서 도입되었습니다.
QFont::setFeature()도 참조하십시오 .
font.hintingPreference : enumeration
텍스트에 권장 힌팅을 설정합니다.
이는 기본 텍스트 렌더링 시스템에 특정 수준의 힌팅을 사용하도록 지시하는 것으로, 플랫폼에 따라 지원 여부가 다릅니다. 자세한 내용은 QFont::HintingPreference 문서의 표를 참조하십시오.
참고: 이 속성은 렌더링 유형 ` Text.NativeRendering`과 함께 사용될 때만 효과가 있습니다.
| 상수 | 설명 |
|---|---|
Font.PreferDefaultHinting | 대상 플랫폼의 기본 힌팅 수준을 사용합니다. |
Font.PreferNoHinting | 가능한 경우, 글리프의 윤곽에 힌팅을 적용하지 않고 텍스트를 렌더링합니다. 텍스트 레이아웃은 예를 들어 인쇄 시 사용되는 것과 동일한 메트릭을 사용하여 타이포그래피적으로 정확해집니다. |
Font.PreferVerticalHinting | 가능한 경우, 수평 힌팅 없이 텍스트를 렌더링하되, 수직 방향에서는 글리프를 픽셀 그리드에 정렬합니다. 글리프를 정확하게 렌더링하기에는 밀도가 너무 낮은 디스플레이에서는 텍스트가 더 선명하게 표시됩니다. 하지만 글리프의 가로 메트릭에는 힌팅이 적용되지 않으므로, 줄 바꿈과 같은 세부 사항에 영향을 주지 않으면서도 텍스트 레이아웃을 더 높은 밀도의 장치(예: 프린터)에 맞게 확장할 수 있습니다. |
Font.PreferFullHinting | 가능하다면, 텍스트를 수평 및 수직 방향 모두에 힌팅을 적용하여 렌더링하십시오. 텍스트는 대상 기기에서 가독성을 최적화하도록 조정되지만, 메트릭은 텍스트의 대상 크기에 따라 달라지기 때문에 글리프의 위치, 줄 바꿈 및 기타 타이포그래피 세부 사항은 크기에 따라 조정되지 않습니다. 즉, 픽셀 밀도가 다른 기기에서는 텍스트 레이아웃이 다르게 보일 수 있습니다. |
font.italic : bool
글꼴에 이탤릭 스타일이 있는지 여부를 설정합니다.
font.kerning : bool
텍스트 모양을 조정할 때 커닝 OpenType 기능을 활성화하거나 비활성화합니다. 이 기능을 비활성화하면 텍스트를 생성하거나 수정할 때 성능이 향상될 수 있지만, 일부 시각적 효과가 저하될 수 있습니다. 기본값은 true 입니다.
Text { text: "OATS FLAVOUR WAY"; font.kerning: false }font.letterSpacing : real
글꼴의 글자 간격을 설정합니다.
글자 간격은 글꼴 내 개별 글자 사이의 기본 간격을 변경합니다. 양수 값을 지정하면 해당 픽셀 수만큼 글자 간격이 넓어지고, 음수 값을 지정하면 간격이 좁아집니다.
font.pixelSize : int
글꼴 크기를 픽셀 단위로 설정합니다.
이 함수를 사용하면 글꼴이 장치에 종속됩니다. 장치와 무관하게 글꼴 크기를 설정하려면 ` pointSize `를 사용하십시오.
font.pointSize : real
글꼴 크기를 포인트 단위로 설정합니다. 포인트 크기는 0보다 커야 합니다.
font.preferShaping : bool
때로는 글꼴이 문자를 올바르게 표시하기 위해 특정 문자 집합에 복잡한 규칙을 적용하기도 합니다. 브라흐미 문자 체계와 같은 일부 문자 체계에서는 텍스트를 가독성 있게 표시하기 위해 이러한 처리가 필수적이지만, 예를 들어 라틴 문자 체계에서는 단순히 미적 효과에 불과합니다. ` preferShaping ` 속성을 `false`로 설정하면 필요하지 않은 경우 이러한 모든 기능을 비활성화할 수 있으며, 대부분의 경우 성능이 향상됩니다.
기본값은 ` true`입니다.
Text { text: "Some text"; font.preferShaping: false }font.preferTypoLineMetrics : bool [since 6.8]
글꼴의 수직 간격( ascent), 수평 간격( descent ), 수직 간격( leading )을 제공하는 서로 다른 세트의 수직 선 메트릭입니다. 이들은 흔히 ‘윈 (Windows) 메트릭’과 ‘타이포 (typographical) 메트릭’으로 불립니다. 사양에서는 줄 간격에 typo 메트릭을 사용할 것을 권장하지만, 많은 애플리케이션은 글꼴의 fsSelection 필드에 USE_TYPO_METRICS 플래그가 설정되어 있지 않은 한 win 메트릭을 선호합니다. 하위 호환성상의 이유로 Qt 애플리케이션에서도 마찬가지입니다. 이는 ‘ USE_TYPO_METRICS ’ 플래그를 설정하여 ‘ typo ’ 메트릭이 유효함을 나타내는 글꼴이나, ‘ win ’ 메트릭과 ‘ typo ’ 메트릭이 일치하는 글꼴의 경우에는 문제가 되지 않습니다. 그러나 특정 글꼴의 경우 ‘ win ’ 메트릭이 바람직한 줄 간격보다 클 수 있으며, ‘ USE_TYPO_METRICS ’ 플래그가 실수로 설정되지 않은 경우가 있을 수 있습니다. 이러한 글꼴의 경우, ‘ font.preferTypoLineMetrics ’를 설정하면 더 나은 결과를 얻을 수 있습니다.
기본적으로 ` preferTypoLineMetrics `는 ` false`입니다.
이 속성은 Qt 6.8에서 도입되었습니다.
QFont::StyleStrategy도 참조하십시오 .
font.strikeout : bool
글꼴에 취소선 스타일이 적용될지 여부를 설정합니다.
font.styleName : string
글꼴의 스타일 이름을 설정합니다.
스타일 이름은 대소문자를 구분하지 않습니다. 이 속성이 설정되면, 글꼴은 글꼴 속성 font.weight, font.bold, font.italic 대신 스타일 이름에 따라 일치 여부가 결정됩니다.
font.underline : bool
텍스트에 밑줄을 그을지 여부를 설정합니다.
font.variableAxes : object [since 6.7]
가변 글꼴의 가변 축에 부동 소수점 값을 적용합니다.
가변 글꼴은 동일한 글꼴 파일에 여러 가지 변형(두께, 너비 또는 스타일이 다른)을 저장할 수 있는 방법을 제공합니다. 이러한 변형들은 "가변 축"이라고 하는 미리 정의된 매개변수 집합에 대한 부동 소수점 값으로 지정됩니다. 일반적으로 폰트 디자이너가 특정 인스턴스에 이름을 지정하며, Qt에서는 기존의 서브패밀리와 마찬가지로 setStyleName()을 사용하여 이를 선택할 수 있습니다.
경우에 따라서는 서로 다른 축에 임의의 값을 지정하는 것이 유용할 수도 있습니다. 예를 들어, 폰트에 Regular와 Bold 하위 패밀리가 있다면, 이 둘 사이의 중간 굵기를 원할 수 있습니다. 이때 폰트의 “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 (4개의 latin-1 문자 시퀀스) 요건을 충족해야 한다는 점입니다.
기본적으로 가변 축은 설정되어 있지 않습니다.
참고: Windows에서 선택적 GDI 글꼴 백엔드를 사용하는 경우 가변 축이 지원되지 않습니다.
이 속성은 Qt 6.7에서 도입되었습니다.
QFont::setVariableAxis()도 참조하십시오 .
font.weight : int
요청된 글꼴의 굵기입니다. 요청된 굵기는 1에서 1000 사이의 정수이거나, 다음의 미리 정의된 값 중 하나여야 합니다:
| 상수 | 설명 |
|---|---|
Font.Thin | 100 |
Font.ExtraLight | 200 |
Font.Light | 300 |
Font.Normal | 400 (기본값) |
Font.Medium | 500 |
Font.DemiBold | 600 |
Font.Bold | 700 |
Font.ExtraBold | 800 |
Font.Black | 900 |
font.wordSpacing : real
글꼴의 단어 간격을 설정합니다.
단어 간격은 개별 단어 사이의 기본 간격을 변경합니다. 양수 값을 지정하면 단어 간격이 해당 픽셀 수만큼 넓어지고, 음수 값을 지정하면 단어 간격이 그만큼 좁아집니다.
fontInfo.bold : bool [read-only]
현재 글꼴 및 fontSizeMode 에 대해 해결된 글꼴 정보의 굵기 상태입니다. 해결된 글꼴의 굵기가 굵은체 이상일 경우 이 값이 true입니다.
fontInfo.family : string [read-only]
현재 글꼴에 대해 확인된 글꼴의 성(family name) 및 ‘ fontSizeMode ’입니다.
fontInfo.italic : bool [read-only]
현재 글꼴에 대해 해결된 글꼴 정보의 이탤릭체 상태 및 fontSizeMode.
fontInfo.pixelSize : int [read-only]
현재 글꼴에 대해 확인된 글꼴 정보의 픽셀 크기와 fontSizeMode.
fontInfo.pointSize : real [read-only]
현재 글꼴에 대해 확인된 글꼴 정보의 pointSize 및 fontSizeMode.
fontInfo.styleName : string [read-only]
현재 글꼴에 대해 확인된 글꼴 정보의 스타일 이름과 fontSizeMode.
fontInfo.weight : int [read-only]
현재 글꼴 및 fontSizeMode 에 대해 해결된 글꼴 정보의 가중치입니다.
fontSizeMode : enumeration
이 속성은 표시되는 텍스트의 글꼴 크기가 어떻게 결정되는지를 지정합니다. 사용할 수 있는 값은 다음과 같습니다.
| 상수 | 설명 |
|---|---|
Text.FixedSize | (기본값) ` font.pixelSize ` 또는 ` font.pointSize `로 지정된 크기가 사용됩니다. |
Text.HorizontalFit | 지정된 크기 이내에서 줄 바꿈 없이 항목의 너비에 들어맞는 가장 큰 크기가 사용됩니다. |
Text.VerticalFit | 지정된 크기 중 항목의 높이에 맞는 가장 큰 크기가 사용됩니다. |
Text.Fit | 항목의 너비와 높이에 모두 들어맞는, 지정된 크기 중 가장 큰 크기가 사용됩니다. |
맞춤된 텍스트의 글꼴 크기는 minimumPointSize 또는 minimumPixelSize 속성으로 지정된 최소 경계와 font.pointSize 또는 font.pixelSize 속성으로 지정된 최대 경계를 갖습니다.
Text { text: "Hello"; fontSizeMode: Text.Fit; minimumPixelSize: 10; font.pixelSize: 72 }최소 글꼴 크기로도 텍스트가 항목 경계 내에 들어가지 않는 경우, ` elide ` 속성에 따라 텍스트가 생략됩니다.
textFormat 속성이 Text.RichText 로 설정된 경우, 이 속성은 완전히 무시되므로 아무런 효과도 없습니다. textFormat 가 Text.StyledText 로 설정된 경우, 텍스트 내에 글꼴 크기 태그가 없는 한 이 속성이 적용됩니다. 글꼴 크기 태그가 있는 경우, 이 속성은 여전히 해당 태그를 우선적으로 따릅니다. 이로 인해 fontSizeMode 설정과 완전히 일치하지 않을 수 있습니다.
hoveredLink : string [read-only]
이 속성은 사용자가 텍스트에 삽입된 링크 위에 마우스를 올렸을 때 표시되는 링크 문자열을 포함합니다. 링크는 서식 있는 텍스트(RTF) 또는 HTML 형식이어야 하며, ` hoveredLink ` 문자열을 통해 해당 링크에 접근할 수 있습니다.
linkHovered 및 linkAt()도 참조하십시오 .
lineCount : int [read-only]
텍스트 항목에서 표시되는 줄 수를 반환합니다.
이 속성은 서식 있는 텍스트에서는 지원되지 않습니다.
maximumLineCount도 참조하십시오 .
lineHeight : real
텍스트의 줄 간격을 설정합니다. 값은 픽셀 단위이거나, ` lineHeightMode`에 따라 배율로 지정할 수 있습니다.
기본값은 배율 1.0입니다. 줄 간격은 양수여야 합니다.
lineHeightMode : enumeration
이 속성은 줄 간격이 어떻게 지정되는지를 결정합니다. 사용할 수 있는 값은 다음과 같습니다:
| 상수 | 설명 |
|---|---|
Text.ProportionalHeight | (기본값) 줄 간격을 줄 길이에 비례하여(배수로) 설정합니다. 예를 들어, 줄 간격을 두 배로 하려면 2로 설정합니다. |
Text.FixedHeight | 줄 간격을 고정된 값(픽셀 단위)으로 설정합니다. |
linkColor : color
텍스트 내 링크의 색상.
이 속성은 StyledText textFormat 에서 작동하지만, RichText에서는 작동하지 않습니다. RichText에서 링크 색상은 텍스트 내에 CSS 스타일 태그를 포함시켜 지정할 수 있습니다.
maximumLineCount : int
이 속성을 설정하여 텍스트 항목에 표시될 줄 수를 제한할 수 있습니다. elide가 Text.ElideRight로 설정된 경우, 텍스트가 적절하게 생략됩니다. 기본적으로 이 값은 가능한 최대 정수 값입니다.
이 속성은 서식 있는 텍스트에서는 지원되지 않습니다.
minimumPixelSize : int
이 속성은 fontSizeMode 속성에 의해 크기가 조정된 텍스트의 최소 글꼴 픽셀 크기를 지정합니다.
fontSizeMode 가 Text.FixedSize이거나 font.pixelSize 가 -1인 경우, 이 속성은 무시됩니다.
minimumPointSize : int
이 속성은 fontSizeMode 속성에 의해 크기가 조정된 텍스트의 최소 폰트 포인트 size 를 지정합니다.
fontSizeMode 가 Text.FixedSize이거나 font.pointSize 가 -1인 경우 이 속성은 무시됩니다.
renderType : enumeration
이 컴포넌트의 기본 렌더링 유형을 재정의합니다.
지원되는 렌더링 유형은 다음과 같습니다:
| 상수 | 설명 |
|---|---|
Text.QtRendering | 텍스트는 각 글리프에 대해 확장 가능한 거리 필드를 사용하여 렌더링됩니다. |
Text.NativeRendering | 텍스트는 플랫폼별 기법을 사용하여 렌더링됩니다. |
Text.CurveRendering | 텍스트는 그래픽 하드웨어에서 직접 실행되는 커브 래스터라이저를 사용하여 렌더링됩니다. (Qt 6.7.0에서 도입됨.) |
대상 플랫폼에서 텍스트가 네이티브처럼 보이기를 원하고 텍스트 변환과 같은 고급 기능이 필요하지 않은 경우 Text.NativeRendering 를 선택하십시오. NativeRendering 렌더링 유형과 함께 이러한 기능을 사용하면 결과가 좋지 않거나 때로는 픽셀화될 수 있습니다.
Text.QtRendering 과 Text.CurveRendering 은 모두 하드웨어 가속 기술입니다. QtRendering 은 두 가지 중 더 빠르지만, 더 많은 메모리를 사용하며 큰 크기에서는 렌더링 아티팩트가 나타납니다. QtRendering 이 만족스러운 시각적 결과를 제공하지 않거나 그래픽 메모리 소비를 줄이는 것이 우선순위인 경우에는 CurveRendering 을 대안으로 고려해야 합니다.
기본 렌더링 유형은 ` QQuickWindow::textRenderType()`에 의해 결정됩니다.
renderTypeQuality : int [since 6.0]
이 컴포넌트의 기본 렌더링 품질 설정을 재정의합니다. 이는 저수준의 사용자 지정 기능으로, 대부분의 경우 무시해도 무방합니다. 현재 이 설정은 ` renderType `가 ` Text.QtRendering`로 설정된 경우에만 효과가 있습니다.
Text.QtRendering에서 사용하는 래스터화 알고리즘은 텍스트 크기가 클 때, 예컨대 날카로운 모서리가 실제보다 둥글게 보이는 등의 아티팩트가 발생할 수 있습니다. 특정 텍스트 항목에서 이러한 문제가 발생한다면, 메모리 사용량을 증가시키는 대가로 renderTypeQuality 값을 높여 렌더링 품질을 개선할 수 있습니다.
renderTypeQuality 는 0보다 큰 임의의 정수이거나 다음의 미리 정의된 값 중 하나일 수 있습니다.
| 상수 | 설명 |
|---|---|
Text.DefaultRenderTypeQuality | -1 (기본값) |
Text.LowRenderTypeQuality | 26 |
Text.NormalRenderTypeQuality | 52 |
Text.HighRenderTypeQuality | 104 |
Text.VeryHighRenderTypeQuality | 208 |
이 속성은 Qt 6.0에서 도입되었습니다.
style : enumeration
추가 텍스트 스타일을 설정합니다.
지원되는 텍스트 스타일은 다음과 같습니다:
| 상수 | 설명 |
|---|---|
Text.Normal | - 기본값 |
Text.Outline | |
Text.Raised | |
Text.Sunken | |

styleColor : color
텍스트 스타일에 사용되는 보조 색상을 정의합니다.
styleColor 이 색상은 윤곽선이 있는 텍스트의 윤곽선 색상으로, 또는 돌출되거나 오목한 텍스트의 그림자 색상으로 사용됩니다. 스타일이 설정되지 않은 경우에는 전혀 사용되지 않습니다.
Text { font.pointSize: 18; text: "hello"; style: Text.Raised; styleColor: "gray" }style도 참조하십시오 .
text : string
표시할 텍스트입니다. 텍스트는 일반 텍스트와 서식이 적용된 텍스트 모두를 지원합니다.
이 항목은 텍스트를 서식이 지정된 텍스트로 처리해야 하는지 여부를 자동으로 판단하려고 시도합니다. 이 판단은 Qt::mightBeRichText() 함수를 사용하여 이루어집니다. 그러나 마크다운(Markdown) 감지는 자동으로 이루어지지 않습니다.
textFormat도 참조하십시오 .
textFormat : enumeration
text 속성이 표시되어야 하는 방식.
지원되는 텍스트 형식은 다음과 같습니다:
| 상수 | 설명 |
|---|---|
Text.AutoText | (기본값) Qt::mightBeRichText() 휴리스틱을 통해 감지됨 |
Text.PlainText | 모든 서식 태그는 일반 텍스트로 처리됩니다 |
Text.StyledText | HTML 3.2와 같은 최적화된 기본 서식 텍스트 |
Text.RichText | HTML 4의 하위 집합 |
Text.MarkdownText | CommonMark에 테이블 및 작업 목록용 GitHub 확장 기능 추가 (5.14부터) |
텍스트 형식이 Text.AutoText 인 경우, ‘텍스트’ 항목은 해당 텍스트를 서식이 적용된 텍스트로 처리해야 하는지 자동으로 판단합니다. 이 판단은 Qt::mightBeRichText() 함수를 사용하여 이루어지며, 이 함수는 텍스트 첫 줄에 HTML 태그가 있는지 감지할 수 있지만, 마크다운과 일반 텍스트를 구분할 수는 없습니다.
Text.StyledText 는 HTML 3.2 스타일을 따르는 일부 기본 텍스트 서식 마크업을 지원하는 최적화된 형식입니다:
<b></b> - bold
<del></del> - strike out (removed content)
<s></s> - strike out (no longer accurate or no longer relevant content)
<strong></strong> - bold
<i></i> - italic
<br> - new line
<p> - paragraph
<u> - underlined text
<font color="color_name" size="1-7"></font>
<h1> to <h6> - headers
<a href=""> - anchor
<img src="" align="top,middle,bottom" width="" height=""> - inline images
<ol type="">, <ul type=""> and <li> - ordered and unordered lists
<pre></pre> - preformatted
All entitiesText.StyledText 파서는 엄격하여 태그가 올바르게 중첩되어야 합니다.
|
|
Text.RichText '지원되는 HTML 하위 집합 ' 페이지에 설명된 대로 HTML 4의 더 광범위한 하위 집합을 지원합니다. 성능이 더 우수하므로 대신 Text.PlainText, Text.StyledText 또는 Text.MarkdownText 를 사용하는 것이 좋습니다.
참고: Text.MarkdownText 및 지원되는 HTML 하위 집합을사용할 경우 , 일부 장식용 요소는 웹 브라우저에서와 같이 렌더링되지 않습니다:
- 코드 블록은 default monospace font 를 사용하지만, 주변을 감싸는 강조 표시 상자는 없습니다.
- 블록 인용문은 들여쓰기가 적용되지만, 인용문 옆에 수직선이 표시되지 않습니다
경고: 텍스트 형식이 ` Text.PlainText` 이외의 다른 형식일경우 , 색상 변경, 글꼴 스타일, 인라인 이미지 등과 같은 리치 텍스트 기능을 지원합니다. 여기에는 네트워크를 통해 원격으로 이미지를 불러오는 기능도 포함됩니다. 따라서 사용자가 제어하는 신뢰할 수 없는 콘텐츠를 표시할 때는 `textFormat`을 명시적으로 ` Text.PlainText`로 설정하거나, 콘텐츠에서 원치 않는 태그를 제거해야 합니다.
truncated : bool [read-only]
maximumLineCount 또는 elide 으로 인해 텍스트가 잘린 경우 true를 반환합니다.
이 속성은 서식 있는 텍스트에서는 지원되지 않습니다.
maximumLineCount 및 elide도 참조하십시오 .
wrapMode : enumeration
이 속성을 설정하면 텍스트가 ‘Text’ 항목의 너비에 맞춰 줄바꿈됩니다. 텍스트는 명시적인 너비가 설정된 경우에만 줄바꿈됩니다. wrapMode는 다음 중 하나일 수 있습니다:
| Constant | 설명 |
|---|---|
Text.NoWrap | (기본값) 줄 바꿈이 수행되지 않습니다. 텍스트에 줄 바꿈 문자가 충분하지 않은 경우, contentWidth 가 설정된 너비를 초과하게 됩니다. |
Text.WordWrap | 단어 경계에서만 줄바꿈이 수행됩니다. 단어가 너무 길면 contentWidth 가 설정된 너비를 초과하게 됩니다. |
Text.WrapAnywhere | 단어 중간에 위치하더라도 줄의 어느 지점에서나 줄바꿈이 수행됩니다. |
Text.Wrap | 가능한 경우, 단어 경계에서 줄 바꿈이 이루어지며, 그렇지 않은 경우 단어 중간이라도 줄의 적절한 지점에서 줄 바꿈이 이루어집니다. |
Signal 문서
lineLaidOut(object line)
이 신호는 일반 텍스트 모드 또는 서식 지정 텍스트 모드에서 레이아웃 과정에서 레이아웃이 적용되는 각 텍스트 줄마다 발생합니다. 리치 텍스트 모드에서는 발생하지 않습니다. 지정된 ` line ` 객체는 현재 레이아웃이 적용되고 있는 줄에 대한 자세한 정보를 제공합니다.
이를 통해 줄이 레이아웃되는 도중에 해당 줄의 위치를 조정하거나 크기를 변경할 수 있습니다. 예를 들어, 이를 사용하여 열을 만들거나 객체 주위에 텍스트를 배치할 수 있습니다.
지정된 ` line ` 객체의 속성은 다음과 같습니다.
| 속성 이름 | 설명 |
|---|---|
| number (읽기 전용) | 줄 번호(0부터 시작). |
| x | Text 요소 내의 줄의 x 위치를 지정합니다. |
| y | Text 요소 내의 줄의 y 좌표를 지정합니다. |
| width | 선의 너비를 지정합니다. |
| height | 선의 높이를 지정합니다. |
| implicitWidth (읽기 전용) | width에 적용된 수정 사항을 고려하지 않고, 내용에 따라 선이 자연스럽게 차지하는 너비입니다. |
| isLast (읽기 전용) | 해당 줄이 마지막 줄인지 여부를 나타냅니다. width 속성을 다른 값으로 설정하면 이 속성이 변경될 수 있습니다. |
예를 들어, 다음 코드는 Text 항목의 처음 5줄을 오른쪽으로 100픽셀 이동시킵니다:
onLineLaidOut: (line)=> {
if (line.number < 5) {
line.x = line.x + 100
line.width = line.width - 100
}
}다음 예제를 사용하면 항목을 마지막 줄의 끝 부분에 배치할 수 있습니다:
onLineLaidOut: (line)=> {
if (line.isLast) {
lastLineMarker.x = line.x + line.implicitWidth
lastLineMarker.y = line.y + (line.height - lastLineMarker.height) / 2
}
}참고: 해당 핸들러는 onLineLaidOut 입니다.
linkActivated(string link)
이 신호는 사용자가 텍스트에 삽입된 링크를 클릭할 때 발생합니다. 링크는 서식 있는 텍스트(rich text) 또는 HTML 형식이어야 하며, ` link ` 문자열을 통해 해당 링크에 접근할 수 있습니다.
Text {
textFormat: Text.RichText
text: "See the <a href=\"http://qt-project.org\">Qt Project website</a>."
onLinkActivated: (link)=> console.log(link + " link activated")
}다음 예제 코드는 " Qt 프로젝트 웹사이트를 확인하세요."라는 텍스트를 표시합니다.
강조 표시된 링크를 클릭하면 콘솔에 http://qt-project.org link activated 가 출력됩니다.
참고: 이에 대응하는핸들러는 onLinkActivated 입니다.
linkHovered(string link)
이 신호는 사용자가 텍스트에 삽입된 링크 위에 마우스를 올렸을 때 발생합니다. 링크는 서식 있는 텍스트(RTC) 또는 HTML 형식이어야 하며, ‘ link ’ 문자열을 통해 해당 링크에 접근할 수 있습니다.
참고: 해당 핸들러는 onLinkHovered 입니다.
hoveredLink 및 linkAt()도 참조하십시오 .
메서드 문서
void forceLayout()
표시된 텍스트의 레이아웃을 다시 구성합니다.
string linkAt(real x, real y)
x 지점의 링크 문자열을 반환하며, 콘텐츠 좌표로는 y 에 해당합니다. 해당 지점에 링크가 없는 경우에는 빈 문자열을 반환합니다.
hoveredLink도 참조하십시오 .
© 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.
