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形式のマークアップまたはMarkdownを使用します:
Text {
text: "<b>Hello</b> <i>World!</i>"
}Text {
text: "**Hello** *World!*"
}
高さと幅が明示的に設定されていない場合、Textは必要なスペースを判断し、それに応じて設定しようとします。wrapMode が設定されていない限り、高さの代わりに幅を優先します(すべてのテキストが1行に収められます)。
1行のプレーンテキストを指定された幅に収めるには、elide プロパティを使用できます。
注: サポートされている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]
textの幅を返します。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 です。
なお、テキストが 1 行のみの場合、テキストのサイズはテキストの領域そのものとなります。この一般的なケースでは、すべての配置は同等です。たとえば、テキストを親要素の中央に配置したい場合は、Item::anchors を変更するか、horizontalAlignment を Text.AlignHCenter に設定し、幅を親要素の幅にバインドする必要があります。
添付プロパティLayoutMirroring::enabled を使用してアプリケーションのレイアウトをミラーリングする場合、テキストの水平方向の配置もミラーリングされます。ただし、horizontalAlignment プロパティは変更されません。Textの実際の水平方向の配置を取得するには、読み取り専用プロパティeffectiveHorizontalAlignment を使用してください。
elide : enumeration
このプロパティを設定すると、テキストの一部が「Text」項目の幅に合わせて省略されます。テキストが省略されるのは、明示的に幅が設定されている場合のみです。
このプロパティは、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` でない場合、収まる最初の文字列が使用され、そうでない場合は最後の文字列が省略されます。
複数の長さの文字列は、長いものから短いものの順に並べられ、Unicodeの「文字列終端子」文字U009C で区切られます(QMLでは、"\u009C" または"\x9C" と記述します)。
font.bold : bool
フォントの太さを太字にするかどうかを設定します。
font.capitalization : enumeration
テキストの大文字小文字の設定を行います。
| 定数 | 説明 |
|---|---|
Font.MixedCase | 通常の場合:大文字小文字の変更は適用されません |
Font.AllUppercase | テキストをすべて大文字で表示するように変更します |
Font.AllLowercase | テキストをすべて小文字でレンダリングするように変更します |
Font.SmallCaps | テキストをスモールキャップス体で表示するように変更します |
Font.Capitalize | 各単語の最初の文字を大文字にしてテキストを表示するように変更する |
font.contextFontMerging : bool [since 6.8]
選択したフォントに特定の文字が含まれていない場合、Qt はその文字を含む、見た目が似ている代替フォントを自動的に選択します。デフォルトでは、これは文字単位で行われます。
つまり、ごくまれなケースでは、たとえ同じ文字体系であっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。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 }
}また、フォントのプロパティを 1 つのオブジェクトにまとめて取得することもできます:
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 を提供する、互いに競合する一連の垂直線メトリック。これらは、しばしば「win(Windows)メトリック」と「typo(タイポグラフィ)メトリック」と呼ばれます。 仕様では行間隔に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]
現在のフォントおよびfontSizeMode に対して解決されたフォントのファミリー名。
fontInfo.italic : bool [read-only]
現在のフォントおよびfontSizeMode に対して解決済みのフォント情報のイタリック表示の状態。
fontInfo.pixelSize : int [read-only]
現在のフォントおよびfontSizeMode に対して解決されたフォント情報のピクセルサイズ。
fontInfo.pointSize : real [read-only]
現在のフォントおよびfontSizeMode に対して解決されたフォント情報のpointSize。
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]
このプロパティには、ユーザーがテキスト内に埋め込まれたリンクにカーソルを合わせた際のリンク文字列が含まれます。リンクはリッチテキストまたはHTML形式である必要があり、hoveredLink という文字列によってその特定のリンクにアクセスできます。
「 linkHovered 」および「linkAt()」も参照してください 。
lineCount : int [read-only]
テキスト項目内で表示されている行数を返します。
このプロパティはリッチテキストではサポートされていません。
「maximumLineCount」も参照してください 。
lineHeight : real
テキストの行高を設定します。値は、lineHeightMode の設定に応じて、ピクセル単位または倍率で指定できます。
デフォルト値は乗数 1.0 です。行高は正の値でなければなりません。
lineHeightMode : enumeration
このプロパティは、行の高さをどのように指定するかを決定します。指定可能な値は次のとおりです:
| 定数 | 説明 |
|---|---|
Text.ProportionalHeight | (デフォルト) 行に対する行間隔を比例的に設定します(倍率として)。たとえば、2 に設定すると行間が 2 倍になります。 |
Text.FixedHeight | 行高さを固定値(ピクセル単位)に設定します。 |
linkColor : color
テキスト内のリンクの色。
このプロパティは、StyledTexttextFormat では機能しますが、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タグが存在するかどうかを検出できますが、Markdownとプレーンテキストを区別することはできません。
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 サブセットを使用する場合 、一部の装飾要素は Web ブラウザでの表示とは異なってレンダリングされます:
- コードブロックはdefault monospace font を使用しますが、周囲を囲むハイライトボックスは表示されません
- ブロック引用はインデントされますが、引用文の横に縦線は表示されません
警告: テキスト形式がText.PlainText 以外の形式の場合 、色の変更、フォントスタイル、インライン画像などのリッチテキスト機能がサポートされます。これには、ネットワーク経由での画像の外部読み込みも含まれます。したがって、ユーザーが制御する信頼できないコンテンツを表示する際は、textFormatを明示的にText.PlainText に設定するか、不要なタグをコンテンツから削除する必要があります。
truncated : bool [read-only]
maximumLineCount またはelide によりテキストが切り詰められている場合、true を返します。
このプロパティは、リッチテキストではサポートされていません。
「 maximumLineCount 」および「elide 」も参照してください 。
wrapMode : enumeration
このプロパティを設定すると、テキストが「Text」項目の幅に合わせて折り返されます。テキストが折り返されるのは、明示的に幅が設定されている場合のみです。wrapMode には、以下のいずれかを指定できます。
| 定数 | 説明 |
|---|---|
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)
このシグナルは、ユーザーがテキスト内に埋め込まれたリンクをクリックしたときに発火します。リンクはリッチテキストまたは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 Project のウェブサイトをご覧ください」というテキストが表示されます。
強調表示されたリンクをクリックすると、コンソールにhttp://qt-project.org link activated が出力されます。
注: 対応するハンドラは onLinkActivated です。
linkHovered(string link)
このシグナルは、ユーザーがテキスト内に埋め込まれたリンクにカーソルを合わせると発生します。リンクはリッチテキストまたは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.
