지원되는 HTML 하위 집합
Qt의 텍스트 위젯은 HTML 4 마크업의 하위 집합을 사용하여 지정된 리치 텍스트를 표시할 수 있습니다. QLabel 및 QTextEdit 와 같이 QTextDocument 를 사용하는 위젯은 이러한 방식으로 지정된 리치 텍스트를 표시할 수 있습니다.
텍스트 위젯에서 HTML 마크업 사용하기
위젯은 HTML 마크업을 자동으로 감지하여 그에 따라 리치 텍스트를 표시합니다. 예를 들어, 레이블의 text 속성을 "<b>Hello</b> <i>Qt!</i>" 문자열로 설정하면 레이블에 다음과 같은 텍스트가 표시됩니다: Hello Qt!
텍스트에 HTML 마크업이 사용될 경우, Qt는 HTML 4 사양에 정의된 규칙을 따릅니다. 여기에는 텍스트 레이아웃에 대한 기본 속성(예: 텍스트 흐름 방향(왼쪽에서 오른쪽으로))이 포함되며, 이는 텍스트 블록에 dir 속성을 적용하여 변경할 수 있습니다.
지원되는 태그
다음 표에는 Qt의 리치 텍스트 엔진이 지원하는 HTML 태그가 나열되어 있습니다.
참고: 아래에 나열된 태그에 대해 구현된기능은 전체 HTML 4 사양의 일부입니다. 모든 속성이 지원되는 것은 아니므로, 각 태그에 대한 설명을 참조하십시오.
| 태그 | 설명 | 설명 |
|---|---|---|
a | 앵커 또는 링크 | href name 및 title 속성을 지원합니다. |
address | 주소 | |
b | 굵게 | |
big | 더 큰 글꼴 | |
blockquote | 들여쓰기된 단락 | |
body | 문서 본문 | bgcolor 속성을 지원하며, 이 속성은 Qt color name 또는 #RRGGBB 색상 지정 형식일 수 있습니다. |
br | 줄 바꿈 | |
center | 단락 중앙 정렬 | |
cite | 인라인 인용 | i 와 동일합니다. |
code | 코드 | tt 와 동일합니다. |
dd | 정의 데이터 | |
del | 삭제됨 | s 와 동일합니다. Qt 6.11부터 |
dfn | 정의 | i 와 동일합니다. |
div | 문서 구분 | 표준 블록 속성을 지원합니다. |
dl | 정의 목록 | 표준 블록 속성을 지원합니다. |
dt | 정의 용어 | 표준 블록 속성을 지원합니다. |
em | 강조 | i 과 동일합니다. |
font | 글꼴 크기, 글꼴 종류 및/또는 색상 | 다음 속성을 지원합니다: size, face 및 color (Qt color names 또는 #RRGGBB). |
h1 | 레벨 1 제목 | 표준 블록 속성을 지원합니다. |
h2 | 2단계 제목 | 표준 블록 속성을 지원합니다. |
h3 | 3단계 제목 | 표준 블록 속성을 지원합니다. |
h4 | 4단계 제목 | 표준 블록 속성을 지원합니다. |
h5 | 5단계 제목 | 표준 블록 속성을 지원합니다. |
h6 | 6단계 제목 | 표준 블록 속성을 지원합니다. |
head | 문서 헤더 | |
hr | 수평선 | width 속성을 지원하며, 이 속성은 절대값 또는 상대값(%)으로 지정할 수 있습니다. |
html | HTML 문서 | |
i | 이탤릭체 | |
img | 이미지 | src, width, height, style, alt 및 title 속성을 지원합니다. |
kbd | 사용자가 입력한 텍스트 | |
meta | 메타정보 | meta 태그를 사용하여 텍스트 인코딩이 지정된 경우, Qt::codecForHtml()이 이를 인식합니다. 마찬가지로, QTextDocument::toHtml()에 인코딩이 지정된 경우, 해당 인코딩은 meta 태그를 사용하여 저장됩니다. 예를 들면 다음과 같습니다: <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> |
li | 목록 항목 | |
nobr | 줄바꿈이 허용되지 않는 텍스트 | |
ol | 번호 매기기 목록 | 표준 목록 속성을 지원합니다. |
p | 단락 | 기본적으로 왼쪽 정렬됩니다. 표준 블록 속성을 지원합니다. |
pre | 사전 서식 지정된 텍스트 | |
qt | Qt 리치 텍스트 문서 | html 의 동의어입니다. 이전 버전의 Qt와의 호환성을 위해 제공됩니다. |
s | 취소선 | |
samp | 샘플 코드 | tt 와 동일합니다. |
small | 작은 글꼴 | |
span | 그룹화된 요소 | |
strong | 굵게 | b 와 동일합니다. |
sub | 아래첨자 | |
sup | 위첨자 | |
table | 표 | 다음 속성을 지원합니다: border, bgcolor (Qt XML color names 또는 #RRGGBB), cellspacing, cellpadding, width (절대 또는 상대), height. |
tbody | 표 본문 | 아무 작업도 수행하지 않습니다. |
td | 테이블 데이터 셀 | 표준 테이블 셀 속성을 지원합니다. |
tfoot | 표 바닥글 | 아무 작업도 수행하지 않습니다. |
th | 표 머리글 셀 | 표준 테이블 셀 속성을 지원합니다. |
thead | 표 머리글 | thead 태그가 지정된 경우, 여러 페이지에 걸쳐 있는 표를 인쇄할 때 사용됩니다. |
title | 문서 제목 | title 태그를 사용하여 지정한 값은 QTextDocument::metaInformation()를 통해 사용할 수 있습니다. |
tr | 테이블 행 | bgcolor 속성을 지원하며, 이 속성은 Qt color name 또는 #RRGGBB 색상 지정으로 설정할 수 있습니다. |
tt | 타자기 글꼴 | |
u | 밑줄 | |
ul | 순서 없는 목록 | 표준 목록 속성을 지원합니다. |
var | 변수 | i 와 동일합니다. |
블록 속성
div, dl, dt, h1, h2, h3, h4, h5, h6, p 태그에서는 다음 속성을 지원합니다:
align(left,right,center,justify)dir(ltr,rtl)
목록 속성
ol 및 ul 태그에서는 다음 속성을 지원합니다:
type(1,a,A,square,disc,circle)
또한, ` ol ` 태그에서는 다음 속성을 지원합니다:
start
테이블 셀 속성
td 및 th 태그에서는 다음 속성을 지원합니다:
width(절대, 상대 또는 값 없음)bgcolor(Qt XML color names 또는#RRGGBB)colspanrowspanalign(left,right,center,justify)valign(top,middle,bottom)
CSS 속성
다음 표는 Qt의 리치 텍스트 엔진에서 지원하는 CSS 속성을 나열합니다:
| 속성 | 값 | 설명 |
|---|---|---|
background-color | <color> | 요소의 배경색 |
background-image | <uri> | 요소의 배경 이미지 |
color | <color> | 텍스트 전경색 |
font-family | <글꼴 이름> | 글꼴 패밀리 이름 |
font-size | [ small | medium | large | x-large | xx-large ] | <size>pt | <size>px | 문서 글꼴에 상대적인 글꼴 크기, 또는 포인트(pt) 또는 픽셀(px) 단위로 지정된 크기 |
font-style | [ normal | italic | oblique ] | |
font-weight | [ normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | 텍스트에 사용되는 글꼴 굵기를 지정하며, 여기서 normal 및 bold 는 각각 QFont 의 해당 굵기로 매핑됩니다. 숫자 값은 QFont 의 해당 굵기 값의 8배입니다. |
text-decoration | 없음 | [ 밑줄 || 위줄 || 취소선 ] | 추가 텍스트 효과 |
font | [ [ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ] | 글꼴 약식 속성 |
text-indent | <length>px | 픽셀 단위의 첫 줄 텍스트 들여쓰기 |
white-space | normal | pre | nowrap | pre-wrap | HTML 내 공백을 어떻게 처리할지 선언합니다. |
margin-top | <length>px | 픽셀 단위의 상단 단락 여백 |
margin-bottom | <length>px | 단락 하단 여백(픽셀 단위) |
margin-left | <length>px | 단락의 왼쪽 여백(픽셀 단위) |
margin-right | <length>px | 단락의 오른쪽 여백(픽셀 단위) |
padding-top | <length>px | 표 셀 상단 패딩(픽셀) |
padding-bottom | <length>px | 테이블 셀 하단 패딩(픽셀 단위) |
padding-left | <length>px | 테이블 셀의 왼쪽 패딩(픽셀 단위) |
padding-right | <length>px | 테이블 셀의 오른쪽 패딩(픽셀 단위) |
padding | <length>px | 모든 패딩 속성을 한 번에 설정하는 약식 표기법. |
vertical-align | baseline | sub | super | middle | top | bottom | 수직 텍스트 정렬. 텍스트 테이블 셀의 수직 정렬에는 middle, top 및 bottom만 적용됩니다. |
border-collapse | collapse | separate | 텍스트 테이블의 테두리 병합 모드입니다. 'collapse'로 설정하면 셀 간격이 적용되지 않습니다. |
border-color | <color> | 텍스트 테이블 및 테이블 셀의 테두리 색상. |
border-top-color | <색상> | 표 셀의 상단 테두리 색상. |
border-bottom-color | <color> | 표 셀의 하단 테두리 색상. |
border-left-color | <color> | 테이블 셀의 왼쪽 테두리 색상. |
border-right-color | <color> | 테이블 셀의 오른쪽 테두리 색상. |
border-style | none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset | 텍스트 테이블 및 테이블 셀의 테두리 스타일. |
border-top-style | <border-style> | 테이블 셀의 상단 테두리 스타일. |
border-bottom-style | <border-style> | 표 셀의 하단 테두리 스타일. |
border-left-style | <border-style> | 테이블 셀의 왼쪽 테두리 스타일. |
border-right-style | <border-style> | 테이블 셀의 오른쪽 테두리 스타일. |
border-width | <width>px | 테이블 또는 셀 테두리의 너비 |
border-top-width | <length>px | 테이블 셀의 상단 테두리 너비. |
border-bottom-width | <length>px | 테이블 셀의 하단 테두리 너비. |
border-left-width | <length>px | 테이블 셀의 왼쪽 테두리 너비. |
border-right-width | <length>px | 테이블 셀의 오른쪽 테두리 너비. |
border-top | <width>px <border-style> <border-color> | 상단 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border-bottom | <width>px <border-style> <border-color> | 하단 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border-left | <width>px <border-style> <border-color> | 왼쪽 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border-right | <width>px <border-style> <border-color> | 오른쪽 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border-top | <width>px <border-style> <border-color> | 상단 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border-bottom | <width>px <border-style> <border-color> | 하단 테두리의 너비, 스타일 및 색상을 설정하는 약식 표기법 |
border | <width>px <border-style> <border-color> | 네 변의 테두리 너비, 스타일 및 색상을 모두 설정하는 약식 표기법 |
background | [ <'background-color'> || <'background-image'> ] | 배경 간략 속성 |
page-break-before | [ auto | always ] | 단락/표 앞에 페이지 나누기를 강제 적용할 수 있게 함 |
page-break-after | [ auto | always ] | 단락/표 뒤에 페이지 나누기를 강제할 수 있게 합니다 |
float | [ left | right | none ] | 이미지나 텍스트가 다른 요소 내에서 배치될 위치를 지정합니다. float 속성은 테이블과 이미지에 대해서만 지원된다는 점에 유의하십시오. |
text-transform | [ 대문자 | 소문자 ] | 텍스트를 표시하기 전에 적용할 변환을 선택합니다. |
font-kerning | [ normal | none ] | 텍스트 문자 간의 커닝을 활성화하거나 비활성화합니다. |
font-variant | small-caps | 텍스트를 표시하기 전에 스몰캡스 변환을 적용합니다. |
word-spacing | <width>px | 각 단어 사이의 대체 간격을 지정합니다. |
line-height | <숫자>[% | px | pt | cm] | 줄 높이를 지정합니다. 다음 중 하나를 사용할 수 있습니다:
|
참고: 특정 CSS 속성은 ` <p>`과 같이 블록 태그에 적용될 때만 지원됩니다. 예를 들어, ` <span>`에 이러한 속성을 설정해도 아무런 효과가 없습니다. 여백(margin)이 그러한 속성의 한 예입니다. ` QTextDocument`에서 블록과 스팬에 사용할 수 있는 서식 지정 옵션에 대한 개요는 QTextBlockFormat 및 QTextCharFormat 을 참조하십시오.
Qt 전용 CSS 속성
앞서 나열된 표준 CSS 속성 외에도, 다음의 Qt 전용 속성을 사용하여 텍스트 블록의 스타일을 지정할 수 있습니다:
| 속성 | 값 | 설명 |
|---|---|---|
-qt-block-indent | <number> | 지정된 공백 수만큼 텍스트 블록을 들여쓰기합니다. |
-qt-list-indent | <number> | 목록 항목을 지정된 흰자수만큼 들여쓰기합니다. |
-qt-list-number-prefix | <string> | HTML 순서 지정 목록에서 목록 번호 앞에 지정된 문자열을 접두사로 추가합니다. |
-qt-list-number-suffix | <string> | HTML 순서 목록에서 목록 번호 뒤에 지정된 문자열을 추가합니다. |
-qt-paragraph-type | empty | 텍스트 블록을 숨깁니다. |
-qt-table-type | root | frame | root frame 는 테두리와 들여쓰기가 있는 새 줄에 텍스트 블록을 렌더링하는 반면, 이 기능은 테두리나 들여쓰기 없이 인라인으로 텍스트 블록을 렌더링합니다. |
-qt-user-state | <number> | 텍스트 블록의 사용자 데이터로 추가합니다. |
지원되는 CSS 선택자
:first-child, :visited 및 :hover 와 같은 의사 클래스 선택자를 제외한 모든 CSS 2.1 선택자 클래스가 지원됩니다.
© 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.