このページでは

サポートされているHTMLサブセット

Qtのテキストウィジェットは、HTML 4マークアップのサブセットを使用して指定されたリッチテキストを表示することができます。`QTextDocument`を使用するウィジェット(例:QLabel やQTextEdit など)は、この方法で指定されたリッチテキストを表示できます。

テキストウィジェットでの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 XML の `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 (Qtcolor names または#RRGGBB )。
h1レベル 1 の見出し標準のブロック属性をサポートしています。
h2レベル 2 見出し標準のブロック属性をサポートしています。
h3レベル 3 見出し標準のブロック属性をサポートしています。
h4レベル 4 見出し標準のブロック属性をサポートしています。
h5レベル 5 の見出し標準のブロック属性をサポートしています。
h6レベル6の見出し標準のブロック属性をサポートしています。
head文書ヘッダー
hr水平線width 属性をサポートしており、絶対値または相対値 (%) として指定できます。
htmlHTMLドキュメント
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プレフォーマットされたテキスト
qtQtリッチテキストドキュメントhtml の同義語。以前のバージョンのQtとの互換性のために提供されています。
s取り消し線
sampサンプルコードtt と同じ。
small小文字
spanグループ化された要素
strong太字b と同じです。
sub下付き文字
sup上付き
table表以下の属性をサポートしています:border 、bgcolor (Qtcolor names または#RRGGBB )、cellspacing 、cellpadding 、width (絶対または相対)、およびheight 。
tbody表本文何もしません。
tdテーブルデータセル標準のテーブルセル属性をサポートしています。
tfoot表のフッター何もしません。
th表のヘッダーセル標準のテーブルセルの属性をサポートしています。
thead表のヘッダーthead タグが指定されている場合、複数ページにまたがる表を印刷する際に使用されます。
titleドキュメントのタイトルtitle タグを使用して指定された値は、QTextDocument::metaInformation() を通じて取得できます。
tr表の行bgcolor 属性をサポートしており、Qt XML のcolor name または#RRGGBB の色指定を使用できます。
ttタイプライターフォント
u下線付き
ul下線付き標準のリスト属性をサポートしています。
varVariablei と同じです。

ブロック属性

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 (absolute、relative、または値なし)
  • bgcolor (Qt XMLcolor names または#RRGGBB)
  • colspan
  • rowspan
  • align (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文書フォントに対する相対サイズ、またはポイントまたはピクセルで指定されたフォントサイズ
font-style[ 通常 | イタリック | 斜体 ]
font-weight[ normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ]テキストに使用されるフォントの太さを指定します。ここで、normal およびbold は、対応するQFont の太さにマッピングされます。数値は、QFont の同等の太さ値の8倍となります。
text-decorationnone | [ underline || overline || line-through ]その他のテキスト効果
font[ [ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ]フォントの短縮プロパティ
text-indent<length>px1行目のテキストのインデント(ピクセル単位)
white-spacenormal | pre | nowrap | pre-wrapHTML 内の空白の処理方法を指定します。
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-alignbaseline | sub | super | middle | top | bottomテキストの垂直方向の配置。テキストテーブルセルの垂直方向の配置には、middle、top、bottom のみが適用されます。
border-collapsecollapse | separateテキストテーブルの境界線の折りたたみモード。collapseに設定すると、セル間隔は適用されません。
border-color<color>テキストテーブルおよびテーブルセルの枠線の色。
border-top-color<color>表セルの上枠の色。
border-bottom-color<color>表のセルの下枠の色。
border-left-color<color>表セルの左枠線の色。
border-right-color<color>表セルの右枠の色。
border-stylenone | 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>4つの境界線の幅、スタイル、色をすべて設定するための省略形
background[ <'background-color'> || <'background-image'> ]背景の省略形プロパティ
page-break-before[ auto | always ]段落や表の前に改ページを強制できるようにする
page-break-after[ auto | always ]段落や表の後に強制的に改ページを行うようにする
float[ left | right | none ]画像やテキストを別の要素内のどこに配置するかを指定します。なお、float プロパティは、表と画像でのみサポートされています。
text-transform[ uppercase | lowercase ]テキストを表示する前に適用する変換を選択します。
font-kerning[ normal | none ]テキストの文字間のカーニングを有効または無効にします。
font-variantsmall-capsテキストを表示する前に、スモールキャップス変換を適用します。
word-spacing<width>px各単語間の代替間隔を指定します。
line-height<number>[% | px | pt | cm]行の高さを指定します。以下のいずれかを指定できます:
  • ピクセル、ポイント、またはセンチメートル単位の固定行高。
  • 現在のフォントサイズのパーセンテージ。

注: <p> など、特定のCSS プロパティはブロックタグに適用された場合にのみサポートされます。例えば、<span> に対してこれらのプロパティを設定しても効果はありません。marginは、そのようなプロパティの一例です。QTextDocument におけるブロックおよびspanで利用可能な書式設定オプションの概要については、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-typeemptyテキストブロックを非表示にします。
-qt-table-typeroot | frameroot テキストブロックを、境界線やインデントなしでインラインでレンダリングします。一方、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.