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

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

テキスト・ウィジェットでHTMLマークアップを使う

ウィジェットは自動的にHTMLマークアップを検出し、それに応じてリッチテキストを表示します。例えば、ラベルのtext プロパティに文字列"<b>Hello</b> <i>Qt!</i>" を設定すると、ラベルには次のようなテキストが表示されます:こんにちは Qt!

HTML マークアップがテキストに使用される場合、Qt はHTML 4仕様で定義されたルールに従います。これには、テキストの流れ方向(左から右)のようなテキストレイアウトのデフォルトプロパティが含まれます。 dir属性を適用することで変更できます。

サポートされているタグ

以下の表は、Qt のリッチテキストエンジンがサポートしている HTML タグの一覧です。

注意: 以下のタグに実装されている機能は、HTML 4 の完全な仕様のサブセットです。すべての属性がサポートされているわけではありませんので、各タグのコメントを参照してください。

タグ説明コメント
aアンカーまたはリンクhrefname 属性をサポートしています。
addressアドレス
b太字
big大きいフォント
blockquote段落の字下げ
body文書本文Qtcolor name または#RRGGBB の色指定であるbgcolor 属性をサポートしています。
br改行
center段落の中央揃え
citeインライン引用i と同じです。
codeコードtt と同じ。
dd定義データ
dfn定義i と同じ。
div文書分割標準ブロック属性をサポート。
dl定義リスト標準ブロック属性をサポートします。
dt定義語標準ブロック属性をサポートしています。
em強調i と同じ。
fontフォント・サイズ、フォント・ファミリー、フォント・カラー以下の属性をサポートしています:size facecolor (Qtcolor names または#RRGGBB )。
h1レベル 1 見出し標準のブロック属性をサポートします。
h2レベル 2 見出し標準ブロック属性をサポートしています。
h3レベル 3 見出し標準ブロック属性をサポートしています。
h4レベル4見出し標準ブロック属性をサポートしています。
h5レベル5見出し標準ブロック属性をサポートしています。
h6レベル6の見出し標準ブロック属性をサポートしています。
head文書ヘッダ
hr水平線width 属性をサポートしています。絶対値または相対値 (%) で指定できます。
htmlHTML文書
iイタリック
img画像srcsource (Qt 3互換のため)、widthheight 属性をサポートしています。
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 )、cellspacingcellpaddingwidth (絶対または相対)、height
tbodyテーブル本体何もしません。
td表データセル標準の表セル属性をサポートします。
tfoot表フッター何もしません。
th表ヘッダーセル標準の表セル属性をサポートします。
thead表ヘッダーthead タグが指定されている場合、複数ページにまたがる表を印刷するときに使用されます。
title文書タイトルtitle タグで指定された値は、QTextDocument::metaInformation()から利用できる。
tr表の行bgcolor 属性をサポートしており、Qtcolor 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

表セル属性

td およびth タグでは、以下の属性がサポートされています:

  • width (絶対値、相対値、または値なし)
  • bgcolor (Qt または )color names #RRGGBB
  • colspan
  • rowspan
  • align ( , , , )left right center justify
  • valign ( , , )top middle bottom

CSS プロパティ

次の表は、Qt のリッチ・テキスト・エンジンがサポートしている CSS プロパティの一覧です:

プロパティ説明
background-color<色要素の背景色
background-image<uri>要素の背景画像
color<colorテキストの前景色
font-family<ファミリー名フォントファミリー名
font-size[小|中|大|x-large|xx-large ] | <size>pt | <size>px文書フォントからの相対的なフォントサイズ、またはポイントまたはピクセルで指定する
font-style[ノーマル|イタリック|斜体 ]。
font-weight[ノーマル|ボールド|100|200|300|400|500|600|700|800|900 ]。テ キ ス ト に用い ら れ る フ ォ ン ト の太 さ を指定 し ます。normalbold は、 対応す るQFont 太 さ にマ ッ プ さ れます。数値はQFont のウェイト値の 8 倍。
text-decorationnone | [ アンダーライン || オーバーライン || ラインスルー ]。追加テキスト効果
font[ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ]。フォントの省略記法
text-indent<length>px行目のテキストのインデント(ピクセル単位
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-alignベースライン|サブ|スーパー|ミドル|トップ|ボトム垂直方向のテキスト配置。テキストテーブルセルの垂直方向の配置には、middle、top、bottomのみが適用されます。
border-collapsecollapse|セパレートテキストテーブルのボーダー折りたたみモード。collapseに設定すると、セル間隔は適用されない。
border-color<色テキストテーブルとテーブルセルのボーダーの色。
border-top-color<color表セルの上枠の色。
border-bottom-color<color表セルの下枠の色。
border-left-color<colorテーブルセルの左枠の色。
border-right-color<color表セルの右枠の色。
border-styleなし|点線|破線|点ダッシュ|点ドットダッシュ|実線|二重|溝|稜線|はめ込み|アウトセットテキストテーブルとテーブルセルのボーダースタイル。
border-top-style<ボーダースタイル表セルの上枠スタイル。
border-bottom-style<ボーダースタイル表セルの下枠スタイル。
border-left-style<ボーダースタイルテーブルセルの左境界スタイル。
border-right-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-left<width>px <ボーダースタイル> <ボーダーカラー左境界線の幅、スタイル、色を設定する省略記法
border-right<width>px <ボーダースタイル> <ボーダーカラー右境界線の幅、スタイル、色を設定する省略記法
border-top<width>px <ボーダースタイル> <ボーダーカラー上ボーダーの幅、スタイル、色を設定する省略記法
border-bottom<width>px <ボーダースタイル> <ボーダーカラー下部のボーダーの幅、スタイル、色を設定する省略記法
border<width>px <ボーダースタイル> <ボーダーカラー4つのボーダーの幅、スタイル、色を設定する省略記法
background[<'background-color'> || <'background-image'> ]。背景の省略記法
page-break-before[auto | always ] ページを改行できるようにする。段落/表の前に改ページを強制できるようにする
page-break-after[自動|常に ]ページ区切り段落/表の後に改ページを強制できるようにする
float[左|右|なし]画像やテキストを他の要素のどこに配置するかを指定します。なお、float プロパティは表と画像にのみ対応しています。
text-transform[大文字|小文字 ]。テキストを表示する前に行う変換を選択します。
font-kerning[normal|なし]テキスト文字間のカーニングを有効または無効にします。
font-variantスモールキャップテキストを表示する前に smallcaps 変換を実行します。
word-spacing<width>px各単語の間隔を指定する。
line-height<number>[% | px | pt | cm] 行の高さを指定する。行の高さを指定する。以下のいずれかを指定する:
  • 行の高さをピクセル、ポイント、センチメートルで固定する。
  • 現在のフォントサイズに対するパーセンテージ

Qt固有のCSSプロパティ

先に挙げた標準的なCSSプロパティの他に、以下のQt固有のプロパティもテキスト・ブロックのスタイル指定に使用できます:

プロパティ説明
-qt-block-indent<number>テキスト・ブロックを指定されたスペース数だけインデントする。
-qt-list-indent<number>指定されたスペース数だけリスト項目をインデントします。
-qt-list-number-prefix<string>HTML 順序付きリストのリスト番号に指定された文字列を接頭辞として付けます。
-qt-list-number-suffix<文字列HTML順序付きリストのリスト番号に指定された文字列を接尾辞として付けます。
-qt-paragraph-typeemptyテキストブロックを隠す
-qt-table-typeroot | frameroot frame では、テキストブロックは改行され、枠で囲まれます。
-qt-user-state<number>テキスト・ブロックのユーザー・データとして追加します。

サポートされるCSSセレクタ

:first-child:visited:hover などの擬似クラス・セレクタを除き、すべての CSS 2.1 セレクタ・クラスがサポートされています。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。