TextInput QML Type

編集可能なテキスト行を表示します。もっと見る...

Import Statement: import QtQuick
Inherits:

Item

プロパティ

シグナル

メソッド

詳細説明

TextInput型は、編集可能なプレーンテキストの1行を表示する。

TextInput は、1 行のテキスト入力を受け付けるために使用されます。入力制約をTextInputアイテムに置くことができ(例えば、validatorinputMask )、echoMode を適切な値に設定することで、TextInputをパスワード入力フィールドに使用することができます。

macOSでは、Home/EndのUp/Downキーバインディングは明示的に無効になっています。このようなバインディングが必要な場合は(どのプラットフォームでも)QMLで作成する必要があります。

TextEdit およびTextも参照して ください。

プロパティ Documentation

horizontalAlignment : enumeration

verticalAlignment : enumeration

TextInput アイテムの幅と高さにおけるテキストの水平方向のアライメントを設定します。例えば、左から右に読まれるテキストは左に配置されます。

TextInput 例えば、左から右に読まれるテキストは左に配置されます。手動で高さを大きく設定すると、 は常に垂直方向に上揃えされます。アンカーを使えば、他のアイテムの中で好きなように整列させることができます。TextInput

horizontalAlignment に有効な値はTextInput.AlignLeftTextInput.AlignRightTextInput.AlignHCenter です。

verticalAlignment に有効な値はTextInput.AlignTop (デフ ォル ト )、TextInput.AlignBottom TextInput.AlignVCenter です。

添付プ ロ パテ ィLayoutMirroring::enabled を用いてアプ リ ケーシ ョ ン レ イ ア ウ ト を ミ ラ ー表示す る と 、 テ キ ス ト の水平ア ラ イ メ ン ト も ミ ラ ー表示 さ れます。し か し 、 プ ロ パテ ィhorizontalAlignment は変更 さ れません。TextInput の有効な水平ア ラ イ メ ン ト を取得す る には、 読み出 し 専用のプ ロ パテ ィeffectiveHorizontalAlignment を用います。


bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

これらのプロパティは、コンテンツの周りのパディングを保持します。このスペースは、contentWidthcontentHeight に加えて確保されます。

個々のパディング・プロパティは、それらが明示的に設定されない限り、padding プロパティの値を仮定します。例えば、padding4 に、leftPadding8 に設定されている場合、8 が左パディングとして使用されます。

注: TextInput に明示的に幅や高さを指定する場合は、それが関連するパディング値を収容するのに十分な大きさであるように注意しなければなりません。例えば:topPaddingbottomPadding10 に設定されているにもかかわらず、TextInput の高さが20 にしか設定されていない場合、テキストはレンダリングされるのに十分な垂直スペースを持たず、切れて表示されます。


acceptableInput : bool [read-only]

バリデータまたは入力マスクが設定されていない限り、このプロパティは常に真である。バリデータまたは入力マスクが設定されている場合、 このプロパティが真になるのは、現在のテキストがバリデータまたは入力マスクに 最終文字列として受け入れられる (中間文字列としてではなく) 場合のみである。


activeFocusOnPress : bool

TextInput がマウスを押したときにアクティブフォーカスを得るかどうか。デフォルトでは true に設定されています。


autoScroll : bool

テキストが幅より長い場合にTextInput をスクロールさせるかどうか。デフォルトでは true に設定されています。

ensureVisible()も参照


canPaste : bool [read-only]

TextInput が書き込み可能で、クリップボードの内容がTextInput への貼り付けに適している場合に true を返します。


canRedo : bool [read-only]

TextInput が書き込み可能で、undone でやり直せる操作がある場合に true を返す。


canUndo : bool [read-only]

TextInput が書き込み可能で、取り消すことができる以前の操作がある場合は true を返します。


color : color

テキストの色。


contentHeight : real [read-only]

テキストの高さ テキストの高さを返します。テキストが設定された高さ内に収まらない場合にカバーされる高さを超えた高さを含みます。


contentWidth : real [read-only]

wrapMode が設定されている場合、折り返しが不十分で覆われている幅を過ぎた幅を含む、テキストの幅を返します。


cursorDelegate : Component

TextInput のカーソルのデリゲート。

TextInput に cursorDelegate を設定すると、標準カーソルの代わりにこのデリゲートがカーソルの描画に使用されます。カーソルが必要になると、デリゲートのインスタンスが作成され、TextInput によって管理されます。デリゲートのインスタンスの x プロパティは、現在のキャラクタの左上の 1 ピクセル前に設定されます。

デリゲートコンポーネントのルートアイテムは、QQuickItem またはQQuickItem の派生アイテムでなければならないことに注意してください。


cursorPosition : int

TextInput におけるカーソルの位置。 カーソルは文字と文字の間に置かれる。

注意: この場合の文字は QChar オブジェクトの文字列を指し、したがって 16 ビット Unicode 文字であり、位置はこの文字列のインデックスとみなされます。サロゲートペアや言語的合字や発音区分のように、1つの書記素が複数のUnicode文字で表現されることがあるからです。

displayText echoMode が に設定されている場合、 のテキストがそうでなくても、 の各文字は「狭い」文字となります(cursorPosition は常に 1 移動します)。TextInput.Password TextInput passwordCharacter


cursorRectangle : rectangle [read-only]

標準テキストカーソルがテキスト入力内でレンダリングされる矩形。読み取り専用。

カスタムcursorDelegate の位置と高さは、cursorRectangle が変更されると自動的に追従するように更新されます。デリゲートの幅は、カーソル矩形の変更の影響を受けません。


cursorVisible : bool

TextInput がカーソルを表示するときに true に設定します。

このプロパティは、TextInput がアクティブなフォーカスを得たときに設定および解除されるため、他のプロパティをカーソルが現在表示されているかどうかにバインドすることができます。自動的に設定・解除されるため、自分で値を設定する場合は、設定した値が上書きされる可能性があることに留意する必要がある。

例えば、KeyProxyがカーソルにキーを転送し、その時にカーソルがアクティブであるように見せたい場合、スクリプトで直接設定することができる(ただし、実際にはアクティブフォーカスを与えない)。

下のQMLのように、アイテムに直接設定してはいけません。フォーカスが変わったときに、指定した値が上書きされて失われてしまうからです。

TextInput {
    text: "Text"
    cursorVisible: false
}

上のスニペットでは、TextInput がアクティブフォーカスになったときにもカーソルは表示されます。


displayText : string [read-only]

これはTextInput に表示されるテキストです。

echoMode が TextInput::Normal に設定されている場合、これはTextInput::text プロパティと同じ値を保持します。それ以外の場合、このプロパティはユーザーに見えるテキストを保持し、text プロパティは実際に入力されたテキストを保持します。

注: TextInput::text プロパティとは異なり、このプロパティには入力メソッドからの部分的なテキスト入力が含まれます。

preeditTextも参照してください


echoMode : enumeration

TextInput にテキストを表示する方法を指定します。

定数説明
TextInput.Normalテキストをそのまま表示します。(デフォルト)
TextInput.Password実際の文字の代わりにpasswordCharacter を表示します。編集中、新しく入力された文字は、passwordMaskDelay プロパティで指定された短い期間、クリアテキストで表示されます。
TextInput.NoEcho何も表示 し ません。
TextInput.PasswordEchoOnEdit内容はTextInput.Password と 同様にマス ク さ れます。編集中、TextInput にアクティブなフォーカスがある限り、新しく入力された文字はクリアテキストで表示されます。

effectiveHorizontalAlignment : enumeration [read-only]

添付プ ロパテ ィLayoutMirroring::enabled を用いてアプ リ ケーシ ョ ン レ イ ア ウ ト を ミ ラ ー表示す る と 、 テ キ ス ト の水平ア ラ イ メ ン ト も ミ ラ ー表示 さ れます。しかし、horizontalAlignment プロパティは変更されません。TextInput の有効な水平ア ラ イ メ ン ト を取得す る には、 読み取 り 専用のプ ロ パテ ィeffectiveHorizontalAlignment を用い ます。


font.bold : bool

フォントの太さを設定します。


font.capitalization : enumeration

テキストの大文字小文字を設定します。

定数説明
Font.MixedCase通常の場合: 大文字小文字の変更は適用されません。
Font.AllUppercaseテキストがすべて大文字で表示されるように変更します。
Font.AllLowercaseテキストがすべて小文字で表示されるように変更します。
Font.SmallCapsテキストを小文字で表示します。
Font.Capitalizeテキストを各単語の最初の文字を大文字としてレンダリングするように変更する
TextInput { text: "Hello"; font.capitalization: Font.AllLowercase }

font.contextFontMerging : bool [since 6.8]

選択したフォントに特定の文字が含まれていない場合、Qt は自動的にその文字を含む類似のフォントを選択します。デフォルトでは、これは文字ごとに行われます。

つまり、ある珍しいケースでは、同じスクリプトであっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。contextFontMerging を true に設定すると、代わりに入力文字列の最大のサブセットにマッチするフォールバックフォントを見つけようとします。こ れは、 グ リ フ が欠落 し てい る 文字列に対 し ては よ り 高 く な り ますが、 よ り 一貫 し た結果が得 ら れ る 可能性があ り ます。デフォルトでは、contextFontMergingfalse です。

このプロパティは Qt 6.8 で導入されました。

QFont::StyleStrategyも参照してください


font.family : string

フ ォ ン ト のフ ァ ミ リ 名を設定 し ます。

ファミリ名は大文字小文字を区別せず、オプションでファウンドリ名を含めることができます(例:"Helvetica [Cronyx]")。ファミリが複数のファウンドリから入手可能で、ファウンドリが指定されていない場合は、任意のファウンドリが選択されます。そのフ ァ ミ リ が得 ら れない と き は、 フ ォ ン ト 照合アルゴ リ ズ ム を用いて フ ァ ミ リ が設定 さ れます。


font.features : object [since 6.6]

features 内の内容に基づいてテ キ ス ト をシ ェーピ ン グす る 際に、 特定の OpenType 機能に整数値を適用 し ます。こ れは、 フ ォ ン ト シ ェーピ ン グ処理への高度な ア ク セ ス を提供 し 、 それ以外の API では網羅 さ れていない フ ォ ン ト 機能に対応す る ために利用す る こ と がで き ます。

フ ォ ン ト 機能は、 4 文字 タ グか ら 整数値へのマ ッ プで表 さ れます。ほとんどの場合、タグと一緒に渡されるこの整数値はブーリアン値を表します:ゼロの値はその機能が無効であることを意味し、ゼロ以外の値は有効であることを意味します。しかし、ある種のフォント機能については、この値は別の解釈を持つことがあります。例えば、salt 機能に適用される場合、値は、使用する文体の代替を指定するインデックスです。

た と えば、frac フ ォ ン ト 機能は、 ス ラ ッ シ ュ で区切 ら れた対角線上の分数 (1/2 の よ う に) を別の表現で変換 し ます。通常 こ れは、 分数全体を 1 文字幅に焼 き 出す こ と にな り ます (½ の よ う に)。

フ ォ ン ト が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 }
}

フォントのプロパティをオブジェクトに集めることもできます:

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

注: デフォルトでは、Qt は他のフォントプロパティに基づいて特定のフォント機能を有効にしたり無効にしたりします。特に、kern 機能は、QFontfont.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 のドキュメントの表を参照してください。

注意: このプロパティは、レンダリングタイプTextInput.NativeRendering と共に使用された場合にのみ効果を発揮します。

定数説明
Font.PreferDefaultHintingターゲットプラットフォームのデフォルトのヒンティングレベルを使用します。
Font.PreferNoHinting可能であれば、グリフの輪郭をヒンティングせずにテキストをレンダリングします。テキストレイアウトは、印刷時などに使用されるのと同じメトリクスを使用して、タイポグラフィ的に正確になります。
Font.PreferVerticalHinting可能であれば、水平方向のヒンティングを行わずにテキストをレンダリングし、グリフを垂直方向のピクセルグリッドに揃える。密度が低すぎてグリフを正確にレンダリングできないディスプレイでは、テキストはより鮮明に表示される。しかしグリフの水平方向のメトリックはヒンティングされないので、テキストのレイアウトは改行などの細部に影響を与えることなく、より高密度のデバイス(プリンタなど)にもスケーラブルになる。
Font.PreferFullHinting可能であれば、水平方向と垂直方向の両方にヒンティングを施してテキストをレンダリングする。テキストはターゲット デバイスでの読みやすさを最適化するように変更されますが、そのメトリクスはテキストのターゲット サイズに依存するため、グリフや改行などの組版の細部の位置はスケーリングされません。
TextInput { text: "Hello"; renderType: TextInput.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

font.italic : bool

フ ォ ン ト が斜体ス タ イルを持つかど う かを設定 し ます。


font.kerning : bool

テキストを整形する際のカーニング OpenType 機能を有効または無効にします。これを無効にすると、テキストを作成または変更する際のパフォーマンスが向上する可能性がありますが、いくつかの外観上の特徴が犠牲になります。デフォルト値は true です。

TextInput { text: "OATS FLAVOUR WAY"; font.kerning: false }

font.letterSpacing : real

フォントの文字間隔を設定します。

文字間隔は、フォント内の個々の文字の間のデフォルトの間隔を変更します。正の値を指定すると、文字間隔は対応するピクセル分だけ大きくなり、負の値を指定すると、文字間隔は小さくなります。


font.pixelSize : int

フォントサイズをピクセル単位で設定します。

この関数を使用すると、フォントのデバイスに依存するようになります。デバイスに依存しない方法でフォントサイズを設定するにはpointSize を使用します。


font.pointSize : real

フォントサイズをポイントで設定します。ポ イ ン ト サ イ ズは 0 よ り 大 き く す る 必要があ り ます。


font.preferShaping : bool

フォントが文字集合に複雑な規則を適用して正しく表示することがある。バラモン文字のようないくつかの文字体系では、これはテキストを読みやすくするために必要なことですが、ラテン文字のような文字体系では、単なる見栄えのための機能です。preferShaping プロパティを false に設定すると、このような機能が不要な場合はすべて無効になり、ほとんどの場合パフォーマンスが向上します。

デフォルト値はtrueです。

TextInput { text: "Some text"; font.preferShaping: false }

font.preferTypoLineMetrics : bool [since 6.8]

ascentdescentleading を提供する縦線メ ト リ ッ ク のセ ッ ト を競合 さ せます。こ れ ら は し ば し ばwin(Windows) メ ト リ ッ ク とtypo(組版) メ ト リ ッ ク と 呼ばれます。仕様では、行間にはtypo メ ト リ ッ ク を用いる こ と を推奨 し てい ますが、 多 く のアプ リ ケーシ ョ ンは、 フ ォ ン ト のfsSelectionフ ィ ール ド でUSE_TYPO_METRICS フ ラ グが設定 さ れていない限 り 、win メ ト リ ッ ク を好みます。後方互換性の理由から、これは Qt アプ リ ケーシ ョ ンの場合も同様です。こ れは、typo メ ト リ ッ ク が有効であ る こ と を示すUSE_TYPO_METRICS フ ラ グ を設定 し てい る フ ォ ン ト や、win メ ト リ ッ ク とtypo メ ト リ ッ ク が一致 し てい る フ ォ ン ト に対 し ては問題ではあ り ません。し か し 、 あ る 種の フ ォ ン ト に対 し ては、win メ ト リ ッ ク が望ましい行間隔 よ り も 大き く 、USE_TYPO_METRICS フ ラ グが誤っ て設定 さ れていない場合があ り ます。その よ う な フ ォ ン ト に対 し ては、font.preferTypoLineMetrics を設定す る こ と が優れた結果を も た ら す可能性があ り ます。

デフォルトでは、preferTypoLineMetricsfalse になります。

このプロパティは Qt 6.8 で導入されました。

QFont::StyleStrategyも参照してください


font.strikeout : bool

フォントに取り消し線スタイルがあるかどうかを設定します。


font.styleName : string

フォントのスタイル名を設定します。

スタイル名は大文字小文字を区別しません。設定する と 、 フ ォ ン ト は、 フ ォ ン ト プ ロパテ ィfont.weightfont.boldfont.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 個の ラ テ ィ ン 1 キ ャ ラ ク タ の並び) の要件を満たす必要があ る こ と です。

デフ ォル ト では、 可変軸は設定 さ れてい ません。

注意: Windows では、オプションの GDI フォント・バックエンドが使用されている場合、可変軸はサポートされません。

このプロパティは Qt 6.7 で導入されました。

QFont::setVariableAxis()も参照してください


font.weight : int

要求されるフォントのウェイト。要求されるウェイトは 1 から 1000 までの整数か、定義済みの値のいずれかでなければなりません:

定数説明
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400(デフォルト)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
TextInput { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

フォントの単語間隔を設定します。

単語間隔は、個々の単語間のデフォルトの間隔を変更します。正の値を設定すると、対応するピクセル分だけ単語の間隔が広がり、負の値を設定すると、それに応じて単語の間隔が狭まります。


inputMask : string

入力マスクTextInput に入力マスクを設定できるようにし、入力可能なテキストを制限する。TextInput でもまったく同じマスク文字列が使われているので、詳しくはQLineEdit::inputMask を参照のこと。

acceptableInput およびvalidatorも参照して ください。


inputMethodComposing : bool [read-only]

このプロパティは、TextInput が入力メソッドからの部分的なテキスト入力を持つかどうかを保持する。

入力メソッドは入力中に、部分テキストを編集したりコミットしたりするために、TextInput からのマウスイベントやキーイベントに依存することがあります。このプロパティは、入力メソッドの正しい動作を妨げる可能性のあるイベントハンドラを無効にするタイミングを決定するために使用できます。


inputMethodHints : enumeration

入力メソッドに、テキスト入力の予想される内容と、それがどのように動作すべきかのヒントを提供する。

値は、フラグのビット単位の組み合わせ、またはヒントが設定されていない場合は Qt.ImhNone です。

動作を変更するフラグは以下の通りです:

定数説明
Qt.ImhHiddenTextパスワード入力時に一般的に使用されるように、文字を非表示にします。
Qt.ImhSensitiveData入力されたテキストは、アクティブな入力メソッドによって、予測ユーザー辞書のような永続的なストレージに保存されるべきではありません。
Qt.ImhNoAutoUppercase入力メソッドは、文が終わったときに自動的に大文字に切り替えようとしないこと。
Qt.ImhPreferNumbers数字が望ましい(必須ではない)。
Qt.ImhPreferUppercase大文字が望ましい(必須ではない)。
Qt.ImhPreferLowercase小文字が望ましい(必須ではない)。
Qt.ImhNoPredictiveText入力中に予測入力(辞書引き)を使用しないでください。
Qt.ImhDateテキストエディタは日付フィールドとして機能します。
Qt.ImhTimeテキストエディタは時間フィールドとして機能します。

入力を制限するフラグ(排他的フラグ)は以下の通り:

定数説明
Qt.ImhDigitsOnly数字のみ入力可能
Qt.ImhFormattedNumbersOnly数値入力のみが許可されます。これには小数点とマイナス記号が含まれる。
Qt.ImhUppercaseOnly大文字のみ入力可能
Qt.ImhLowercaseOnly小文字のみ入力可能。
Qt.ImhDialableCharactersOnly電話番号に適した文字のみ入力可能です。
Qt.ImhEmailCharactersOnly電子メールアドレスに適した文字のみ使用できます。
Qt.ImhUrlCharactersOnlyURLに適した文字のみが許可されます。

マスク

定数説明
Qt.ImhExclusiveInputMaskこのマスクは、排他的フラグのいずれかが使用されている場合、ゼロ以外を返す。

length : int [read-only]

TextInput の項目に含まれる文字の総数を返します。

TextInputinputMask を持つ場合、長さにはマスク文字が含まれ、text プロパティが返す文字列の長さとは異なる可能性があります。

このプロパティは、TextInput'の内部文字列データのコピーや変換を必要としないため、text プロパティの長さを問い合わせるよりも高速になる可能性があります。


maximumLength : int

TextInput のテキストの最大許容長。

テキストが長すぎる場合は、上限で切り捨てられます。

デフォルトでは、このプロパティの値は 32767 です。


mouseSelectionMode : enumeration

テキストをマウスで選択する方法を指定します。

定数説明
TextInput.SelectCharacters(デフォルト) 選択は個々の文字で更新されます。
TextInput.SelectWords選択範囲は単語全体で更新されます。

このプロパティは、selectByMouse が true の場合にのみ適用されます。


overwriteMode : bool

ユーザーが入力したテキストが既存のテキストを上書きするかどうか。

多くのテキストエディタと同様に、テキストエディタウィジェットは、ユーザによって入力された新しいテキストで既存のテキストを挿入または上書きするように設定することができます。

このプロパティがtrue の場合、既存のテキストは新しいテキストで一文字一文字上書きされ、そうでない場合は、テキストは既存のテキストを置き換えてカーソル位置に挿入される。

デフォルトでは、このプロパティはfalse です(新しいテキストは既存のテキストを上書きしません)。


passwordCharacter : string

これは、echoMode が Password または PasswordEchoOnEdit に設定されているときに表示される文字です。デフォルトでは、プラットフォームテーマで使用されるパスワード文字です。

このプロパティが複数の文字を含む文字列に設定されている場合、最初の文字が使用されます。文字列が空の場合、値は無視され、プロパティは設定されません。


passwordMaskDelay : int

可視文字がパスワード文字でマスクされるまでの遅延をミリ秒単位で設定します。

undefinedを代入するとresetメソッドが呼び出されます。


persistentSelection : bool

TextInput がシーン内の他のアイテムにアクティブフォーカスを失ったときに、その選択を維持するかどうか。デフォルトでは、これはfalseに設定されている;


preeditText : string [read-only]

このプロパティは、入力メソッドからの部分テキスト入力を含む。

予測結果の部分テキストをオフにするには、inputMethodHintsQt.ImhNoPredictiveText フラグを設定します。

displayText およびinputMethodHintsも参照してください


readOnly : bool

ユーザー入力がTextInput の内容を変更できるかどうかを設定します。

readOnly が true に設定されている場合、ユーザー入力は text プロパティに影響を与えません。バ イ ンデ ィ ン グや、 text プ ロ パテ ィ を設定 し よ う と す る 試みは、 その ま ま有効です。


renderType : enumeration

このコンポーネントのデフォルトのレンダリングタイプをオーバーライドします。

サポートされるレンダリングタイプは以下のとおりです:

定数説明
TextInput.QtRenderingテキストは、各グリフに対してスケーラブルな距離フィールドを使用してレンダリングされます。
TextInput.NativeRenderingテキストは、プラットフォーム固有の技法を使用してレンダリングされます。
TextInput.CurveRenderingテキストは、グラフィックスハードウェア上で直接実行されるカーブラスタライザを使用してレンダリングされます。(Qt 6.7.0 で導入)。

テキストがターゲットプラットフォーム上でネイティブに見えることを好み、テキストの変換などの高度な機能を必要としない場合は、TextInput.NativeRendering を選択します。NativeRendering レンダリング タイプと組み合わせてそのような機能を使用すると、結果が貧弱になり、時にはピクセル化されます。

TextInput.QtRenderingTextInput.CurveRendering はどちらもハードウェアアクセラレーション技術です。QtRendering は 2 つのうちで高速ですが、より多くのメモリを使用し、サイズが大きいとレンダリングアーチファクトが発生します。CurveRendering は、QtRendering で良好な視覚結果が得られない場合や、グラフィックスメモリ消費量の削減が優先される場合の代替手段として考慮する必要があります。

デフォルトのレンダリングタイプはQQuickWindow::textRenderType() によって決定される。


selectByMouse : bool

デフォルトはtrue です。

trueの場合、ユーザーは通常の方法でマウスを使ってテキストを選択することができます。

注意: 6.4 より前のバージョンでは、デフォルトはfalse でしたが、このプロパティを有効にすると、タッチスクリーン上で指をドラッグしてテキストを選択することもできるようになります。これは、TextInput が Flickable の内部で使用されている場合、フリック操作の妨げになります。TextField との一貫性を保つため、selectByMouse は現在では本当にそのとおりの意味です。true の場合、マウスによるドラッグのみでテキストを選択できます。この変更がアプリケーションに合わない場合は、selectByMousefalse に設定するか、古い API バージョン(たとえばimport QtQuick 6.3 )をインポートして以前の動作に戻すことができます。インポートバージョンを変更して動作を戻すオプションは、Qt の後のバージョンで削除される予定です。


selectedText : string [read-only]

この読み取り専用プロパティは、テキスト入力で現在選択されているテキストを提供します。

以下のスニペットと同等ですが、より高速で使いやすくなっています。

myTextInput.text.toString().substring(myTextInput.selectionStart,
    myTextInput.selectionEnd);

selectedTextColor : color

選択範囲内で使用される、ハイライトされたテキストの色。


selectionColor : color

テキストのハイライト色。


selectionEnd : int [read-only]

現在の選択範囲の最後の文字の後のカーソル位置。

このプロパティは読み取り専用です。選択範囲を変更するには、select(start,end),selectAll(), またはselectWord() を使用する。

selectionStartcursorPositionselectedTextも参照


selectionStart : int [read-only]

現在の選択範囲の最初の文字の前のカーソル位置。

このプロパティは読み取り専用です。選択範囲を変更するには、select(start,end)、selectAll()、またはselectWord() を使用します。

selectionEndcursorPositionselectedTextも参照してください


text : string

のテキストは、TextInput

キーボードによっては予測機能を使うものもある。この場合、入力メソッドによって構成されるテキストは、このプロパティの一部ではない。予測に関連するテキストの部分は下線が引かれ、preeditText プロパティに格納されます。TextInput に表示されるテキスト全体を取得するには、displayText プロパティを使用します。

clear()、displayText 、およびpreeditTextも参照


validator : Validator

TextInput にバリデータを設定できるようにします。 バリデータを設定すると、TextInput は text プロパティを受諾可能状態または中間状態にする入力のみを受け付けます。Enter キーを押したときにテキストが受け入れ可能な状態になっている場合にのみ、accepted シグナルが送信されます。

現在サポートしているバリデータはIntValidatorDoubleValidator およびRegularExpressionValidator です。バリデータの使用例を以下に示す。テキスト入力に 11 から 31 までの整数を入力できるようにする:

import QtQuick 2.0
TextInput{
    validator: IntValidator{bottom: 11; top: 31;}
    focus: true
}

acceptableInput およびinputMaskも参照


wrapMode : enumeration

このプロパティを設定すると、TextInput アイテムの幅に合わせてテキストが折り返されます。テキストは、明示的な幅が設定されている場合にのみ折り返されます。

定数説明
TextInput.NoWrap(デフォルト) 折り返しは行われません。テキストに十分な改行がない場合、contentWidth は設定された幅を超えます。
TextInput.WordWrap折り返しは単語の境界でのみ行われます。単語が長すぎる場合、contentWidth は設定された幅を超える。
TextInput.WrapAnywhere折り返しは、単語の途中であっても、行のどの位置でも行われます。
TextInput.Wrap可能であれば、折り返しは単語の境界で行われ、そうでなければ、単語の途中であっても、行の適切な位置で行われます。

デフォルトはTextInput.NoWrap です。幅を設定する場合は、TextInput.Wrapの使用を検討してください。


シグナル・ドキュメント

accepted()

このシグナルは、ReturnキーまたはEnterキーが押されたときに出力されます。テキスト入力にvalidator またはinputMask が設定されている場合、このシグナルは入力が許容可能な状態にある場合にのみ発せられることに注意してください。

注: 対応するハンドラはonAccepted です。


editingFinished()

このシグナルは、ReturnキーまたはEnterキーが押されたとき、あるいはテキスト入力がフォーカスを失ったときに発せられる。テキスト入力にバリデータまたはinputMask が設定されていて Enter キー/Return キーが押された場合は、 入力がinputMask に従いバリデータが受け入れ可能な状態を返した場合にのみこのシグナルが発せられることに注意すること。

注意: 対応するハンドラはonEditingFinished である。


textEdited()

このシグナルはテキストが編集されるたびに発行される。textChanged() とは異なり、このシグナルは、例えばtext プロパティの値を変更したりclear() を呼び出したりして、 プログラム的にテキストが変更されたときには発行されません。

注: 対応するハンドラはonTextEdited です。


メソッドの説明

clear()

テキスト入力の内容をクリアし、入力メソッドからの部分テキスト入力をリセットします。

text プロパティを空文字列に設定する代わりに、このメソッドを使用します。

QInputMethod::reset()も参照してください


copy()

現在選択されているテキストをシステム・クリップボードにコピーします。

注意: エコー・モードが Normal 以外に設定されている場合、コピーは機能しません。これは、行制御のパスワード機能をバイパスする方法としてコピーを使用することを防ぐためである。


cut()

現在選択されているテキストをシステムクリップボードに移動する。

注意: エコーモードがNormal以外に設定されている場合、cutは機能しない。これは、ラインコントロールのパスワード機能をバイパスする方法としてカットを使用することを防ぐためである。


deselect()

アクティブなテキスト選択を削除する。


ensureVisible(int position)

テキスト入力の内容をスクロールして、指定された文字position がテキスト入力の境界内に表示されるようにする。

autoScrollも参照のこと


string getText(int start, int end)

startend 位置の間にあるテキストのセクションを返します。

TextInputinputMask を持つ場合、長さにはマスク文字が含まれます。


insert(int position, string text)

positionTextInputtext を挿入する。


isRightToLeft(int start, int end)

位置startend の間にあるエディタテキストの自然な読み方向が右から左の場合、true を返します。


moveCursorSelection(int position, SelectionMode mode)

カーソルをposition に移動し、オプションのパラメータmode に従って選択範囲を更新する。(カーソルの移動のみを行うには、cursorPosition プロパティを設定します)。

このメソッドが呼び出されると、さらにselectionStart またはselectionEnd のいずれか(前のカーソル位置にあった方)が指定された位置に設定されます。これにより、選択したテキスト範囲を簡単に伸ばしたり縮めたりすることができます。

選択モードは、選択範囲を文字単位で更新するか、単語単位で更新するかを指定します。指定しない場合、選択モードのデフォルトはTextInput.SelectCharacters になります。

定数説明
TextInput.SelectCharactersselectionStart またはselectionEnd (どちらか前のカーソル位置) を指定された位置に設定します。
TextInput.SelectWordsselectionStartselectionEnd を、指定位置と前のカーソル位置の間のすべての単語を含むように設定する。部分的に範囲内にある単語も含まれる。

たとえば、次の一連の呼び出しを見てみよう:

cursorPosition = 5
moveCursorSelection(9, TextInput.SelectCharacters)
moveCursorSelection(7, TextInput.SelectCharacters)

これは、カーソルを位置 5 に移動し、選択端を 5 から 9 まで伸ばし、選択端を 9 から 7 まで引っ込め、位置 5 から 7 までのテキストを選択したままにします(6 文字目と 7 文字目)。

TextInput.SelectWords と同じシーケンスで、選択開始を位置 5 より前または位置 5 上の単語境界まで拡張し、選択終了を位置 9 より前または位置 9 より後の単語境界まで拡張します。


paste()

現在選択されているテキストをシステムクリップボードの内容で置き換えます。


int positionAt(real x, real y, CursorPosition position)

この関数は、textInput の左上からxy ピクセルの位置にある文字の位置を返します。位置 0 は最初の文字の前、位置 1 は最初の文字の後で 2 番目の文字の前、text.length の位置まで続きます。

つまり、最初の文字より前のすべてのx値に対してこの関数は0を返し、最後の文字より後のすべてのx値に対してこの関数はtext.lengthを返します。y値がテキストの上にある場合は、最初の行の最も近い文字の位置が返され、テキストの下にある場合は、最後の行の最も近い文字の位置が返されます。

cursorposition パラメータは、カーソル位置の解決方法を指定します:

定数説明
TextInput.CursorBetweenCharactersx に最も近い文字間の位置を返す。
TextInput.CursorOnCharacterx に最も近い文字の前の位置を返す。

rect positionToRectangle(int pos)

この関数は、文字位置pos を取り、カーソルがその文字位置に置かれた場合に占めるであろう矩形を返します。

これは、cursorPosition を設定してからカーソルの矩形を問い合わせるのと似ているが、cursorPosition は変更されない。


redo()

redo がavailable の場合、直前の操作をやり直す。


remove(int start, int end)

startend の位置の間にあるテキストの部分をTextInput から削除する。


select(int start, int end)

start からend ま でのテ キ ス ト が選択 さ れます。

startまたはendのいずれかが範囲外の場合、選択は変更されない。

このメソッドを呼び出すと、selectionStart が小さい方に、selectionEnd が大きい方になります(このメソッドに渡された順序に関係なく)。

selectionStart およびselectionEndも参照してください


selectAll()

すべてのテキストを選択状態にします。


selectWord()

現在のカーソル位置に最も近い単語が選択される。


undo()

undo がavailable の場合、直前の操作を取り消します。現在の選択を解除し、選択開始位置を現在のカーソル位置に更新します。


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