サポートされる HTML サブセット
Qt のテキストウィジェットは、HTML 4マークアップのサブセットを使用して指定されたリッチテキストを表示することができます。QLabel やQTextEdit など、QTextDocument を使用するウィジェットは、この方法で指定されたリッチテキストを表示できます。
テキスト・ウィジェットでHTMLマークアップを使う
ウィジェットは自動的にHTMLマークアップを検出し、それに応じてリッチテキストを表示します。例えば、ラベルのtext プロパティに文字列"<b>Hello</b> <i>Qt!</i>"
を設定すると、ラベルには次のようなテキストが表示されます:こんにちは Qt!
HTML マークアップがテキストに使用される場合、Qt はHTML 4仕様で定義されたルールに従います。これには、テキストの流れ方向(左から右)のようなテキストレイアウトのデフォルトプロパティが含まれます。 dir
属性を適用することで変更できます。
サポートされているタグ
以下の表は、Qt のリッチテキストエンジンがサポートしている HTML タグの一覧です。
注意: 以下のタグに実装されている機能は、HTML 4 の完全な仕様のサブセットです。すべての属性がサポートされているわけではありませんので、各タグのコメントを参照してください。
タグ | 説明 | コメント |
---|---|---|
a | アンカーまたはリンク | href とname 属性をサポートしています。 |
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 face 、color (Qtcolor names または#RRGGBB )。 |
h1 | レベル 1 見出し | 標準のブロック属性をサポートします。 |
h2 | レベル 2 見出し | 標準のブロック属性をサポートしています。 |
h3 | レベル 3 見出し | 標準ブロック属性をサポートしています。 |
h4 | レベル4見出し | 標準ブロック属性をサポートしています。 |
h5 | レベル5見出し | 標準ブロック属性をサポートしています。 |
h6 | レベル6の見出し | 標準ブロック属性をサポートしています。 |
head | 文書ヘッダ | |
hr | 水平線 | width 属性をサポートしています。絶対値または相対値 (% ) で指定できます。 |
html | HTML文書 | |
i | イタリック | |
img | 画像 | src 、source (Qt 3互換のため)、width 、height 属性をサポートしています。 |
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 (Qtcolor names または#RRGGBB ),cellspacing ,cellpadding ,width (絶対または相対), および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 ]。 | テ キ ス ト に用い ら れ る フ ォ ン ト の太 さ を指定 し ます。normal とbold は、 対応す るQFont 太 さ にマ ッ プ さ れます。数値はQFont のウェイト値の 8 倍。 |
text-decoration | none | [ アンダーライン || オーバーライン || ラインスルー ]。 | 追加テキスト効果 |
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 | ベースライン|サブ|スーパー|ミドル|トップ|ボトム | 垂直方向のテキスト配置。テキストテーブルセルの垂直方向の配置には、middle、top、bottomのみが適用されます。 |
border-collapse | collapse|セパレート | テキストテーブルのボーダー折りたたみモード。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-type | empty | テキストブロックを隠す |
-qt-table-type | root | frame | root frame では、テキストブロックは改行され、枠で囲まれます。 |
-qt-user-state | <number> | テキスト・ブロックのユーザー・データとして追加します。 |
サポートされるCSSセレクタ
:first-child
、:visited
、:hover
などの擬似クラス・セレクタを除き、すべての CSS 2.1 セレクタ・クラスがサポートされています。
© 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.