TextInput QML Type
編集可能なテキスト行を表示します。もっと見る...
Import Statement: | import QtQuick |
Inherits: |
プロパティ
- acceptableInput : bool
- activeFocusOnPress : bool
- autoScroll : bool
- bottomPadding : real
- canPaste : bool
- canRedo : bool
- canUndo : bool
- color : color
- contentHeight : real
- contentWidth : real
- cursorDelegate : Component
- cursorPosition : int
- cursorRectangle : rectangle
- cursorVisible : bool
- displayText : string
- echoMode : enumeration
- effectiveHorizontalAlignment : 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
- horizontalAlignment : enumeration
- inputMask : string
- inputMethodComposing : bool
- inputMethodHints : enumeration
- leftPadding : real
- length : int
- maximumLength : int
- mouseSelectionMode : enumeration
- overwriteMode : bool
- padding : real
- passwordCharacter : string
- passwordMaskDelay : int
- persistentSelection : bool
- preeditText : string
- readOnly : bool
- renderType : enumeration
- rightPadding : real
- selectByMouse : bool
- selectedText : string
- selectedTextColor : color
- selectionColor : color
- selectionEnd : int
- selectionStart : int
- text : string
- topPadding : real
- validator : Validator
- verticalAlignment : enumeration
- wrapMode : enumeration
信号
方法
- clear()
- copy()
- cut()
- deselect()
- ensureVisible(int position)
- string getText(int start, int end)
- insert(int position, string text)
- isRightToLeft(int start, int end)
- moveCursorSelection(int position, SelectionMode mode)
- paste()
- int positionAt(real x, real y, CursorPosition position)
- rect positionToRectangle(int pos)
- redo()
- remove(int start, int end)
- select(int start, int end)
- selectAll()
- selectWord()
- undo()
詳細説明
TextInput型は、編集可能なプレーン・テキストの1行を表示する。
TextInput は、1 行のテキスト入力を受け付けるために使われます。入力制約をTextInputアイテムに置くことができ(例えば、validator やinputMask )、echoMode を適切な値に設定することで、TextInputをパスワード入力フィールドに使用することができます。
macOSでは、Home/EndのUp/Downキーバインディングは明示的に無効になっています。このようなバインディングが必要な場合は(どのプラットフォームでも)QMLで作成する必要があります。
プロパティのドキュメント
horizontalAlignment : enumeration |
verticalAlignment : enumeration |
TextInput アイテムの幅と高さ内でのテキストの水平方向の配置を設定します。例えば、左から右に読まれるテキストは左に配置されます。
TextInput 例えば、左から右に読まれるテキストは左に配置されます。手動で高さを大きく設定すると、 は常に垂直方向に上揃えされます。アンカーを使えば、他のアイテムの中で好きなように整列させることができます。TextInput
horizontalAlignment
に有効な値はTextInput.AlignLeft
、TextInput.AlignRight
、TextInput.AlignHCenter
です。
verticalAlignment
に有効な値はTextInput.AlignTop
(デフ ォル ト )、TextInput.AlignBottom
TextInput.AlignVCenter
です。
添付プ ロパテ ィLayoutMirroring::enabled を用いてアプ リ ケーシ ョ ン レ イ ア ウ ト を ミ ラ ー表示す る と 、 テ キ ス ト の水平ア ラ イ メ ン ト も ミ ラ ー表示 さ れます。し か し 、 プ ロ パテ ィhorizontalAlignment
は変更 さ れません。TextInput の有効な水平ア ラ イ メ ン ト を取得す る には、 読み取 り 専用のプ ロ パテ ィeffectiveHorizontalAlignment を用います。
これらのプロパティは、コンテンツの周りのパディングを保持します。このスペースは、contentWidth とcontentHeight に加えて確保されます。
個々のパディング・プロパティは、明示的に設定されない限り、padding
プロパティの値を仮定します。例えば、padding
が4
に、leftPadding
が8
に設定されている場合、8
が左パディングとして使用されます。
acceptableInput : bool |
バリデータまたは入力マスクが設定されていない限り、このプロパティは常に真である。バリデータまたは入力マスクが設定されている場合、 このプロパティが真になるのは、現在のテキストがバリデータまたは入力マスクに 最終文字列として受け入れられる (中間文字列としてではなく) 場合のみである。
autoScroll : bool |
テキストが幅より長い場合にTextInput をスクロールさせるかどうか。デフォルトでは true に設定されています。
ensureVisible()も参照 。
color : color |
テキストの色。
contentHeight : real |
テキストの高さ テキストの高さを返します。テキストが設定された高さ内に収まらない場合にカバーされる高さを超えた高さを含みます。
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 |
標準テキストカーソルがテキスト入力内でレンダリングされる矩形。読み取り専用。
カスタムcursorDelegate の位置と高さは、cursorRectangle が変更されると自動的に追従するように更新されます。デリゲートの幅は、カーソル矩形の変更の影響を受けません。
cursorVisible : bool |
TextInput がカーソルを表示するときに true に設定します。
このプロパティは、TextInput がアクティブなフォーカスを得たときに設定および解除されるため、他のプロパティをカーソルが現在表示されているかどうかにバインドすることができます。自動的に設定・解除されるため、自分で値を設定する場合は、設定した値が上書きされる可能性があることに留意する必要がある。
例えば、KeyProxyがカーソルにキーを転送し、その時にカーソルがアクティブであるように見せたい場合、スクリプトで直接設定することができる(ただし、実際にはアクティブフォーカスを与えない)。
下のQMLのように、アイテムに直接設定してはいけません。フォーカスが変わったときに、指定した値が上書きされて失われてしまうからです。
TextInput { text: "Text" cursorVisible: false }
上のスニペットでは、TextInput がアクティブフォーカスになったときにもカーソルは表示されます。
displayText : string |
これは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 |
添付プ ロパテ ィ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 |
選択したフォントに特定の文字が含まれていない場合、Qt は自動的にその文字を含む類似のフォントを選択します。デフォルトでは、これは文字ごとに行われます。
つまり、ある珍しいケースでは、同じスクリプトであっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。contextFontMerging
を true に設定すると、代わりに入力文字列の最大のサブセットにマッチするフォールバックフォントを見つけようとします。こ れは、 グ リ フ が欠落 し てい る 文字列に対 し ては よ り 高 く な り ますが、 よ り 一貫 し た結果が得 ら れ る 可能性があ り ます。デフォルトでは、contextFontMerging
はfalse
です。
このプロパティは Qt 6.8 で導入されました。
QFont::StyleStrategyも参照してください 。
font.family : string |
フ ォ ン ト のフ ァ ミ リ 名を設定 し ます。
ファミリ名は大文字小文字を区別せず、オプションでファウンドリ名を含めることができます(例:"Helvetica [Cronyx]")。ファミリが複数のファウンドリから入手可能で、ファウンドリが指定されていない場合は、任意のファウンドリが選択されます。そのフ ァ ミ リ が得 ら れない と き は、 フ ォ ン ト 照合アルゴ リ ズ ム を用いて フ ァ ミ リ が設定 さ れます。
font.features : object |
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
機能は、QFont の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 のドキュメントの表を参照してください。
注意: このプロパティは、レンダリングタイプ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 |
こ れ ら は、 フ ォ ン ト のascent ・descent ・leading を提供す る 垂直線 メ ト リ ッ ク の セ ッ ト を競合 さ せます。こ れ ら は し ば し ばwin(Windows) メ ト リ ッ ク とtypo(組版) メ ト リ ッ ク と 呼ばれます。仕様では、行間にはtypo
メ ト リ ッ ク を用いる こ と を推奨 し てい ますが、 多 く のアプ リ ケーシ ョ ンは、 フ ォ ン ト のfsSelectionフ ィ ール ド でUSE_TYPO_METRICS
フ ラ グが設定 さ れていない限 り 、win
メ ト リ ッ ク を好みます。後方互換性の理由から、これは Qt アプ リ ケーシ ョ ンの場合も同様です。こ れは、typo
メ ト リ ッ ク が有効であ る こ と を示すUSE_TYPO_METRICS
フ ラ グ を設定 し てい る フ ォ ン ト や、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 |
可変フ ォ ン ト 内の可変軸に浮動小数点値を適用。
可変フ ォ ン ト は、 同 じ フ ォ ン ト フ ァ イ ル内に複数のバ リ エーシ ョ ン (異な る太 さ ・ 幅 ・ ス タ イ ルを持つ) を格納す る 方法を提供 し ます。バ リ エーシ ョ ンは、 「バ リ エーシ ョ ン軸」 と い う あらかじめ定義 さ れたパ ラ メ タ セ ッ ト に対す る 浮動小数点値 と し て与え ら れます。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.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 | 900TextInput { text: "Hello"; font.weight: Font.DemiBold } |
font.wordSpacing : real |
フォントの単語間隔を設定します。
単語間隔は、個々の単語間のデフォルトの間隔を変更します。正の値を設定すると、対応するピクセル分だけ単語間隔が広くなり、負の値を設定すると、それに応じて単語間隔が狭くなります。
inputMask : string |
入力マスクTextInput に入力マスクを設定できるようにし、入力可能なテキストを制限する。TextInput でもまったく同じマスク文字列が使われているので、詳しくはQLineEdit::inputMask を参照のこと。
acceptableInput およびvalidatorも参照して ください。
inputMethodComposing : bool |
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.ImhUrlCharactersOnly | URLに適した文字のみが許可されます。 |
マスク
定数 | 説明 |
---|---|
Qt.ImhExclusiveInputMask | このマスクは、排他的フラグのいずれかが使用されている場合、ゼロ以外を返す。 |
length : int |
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 |
このプロパティは、入力メソッドからの部分テキスト入力を含む。
予測結果の部分テキストをオフにするには、inputMethodHints でQt.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.QtRendering
とTextInput.CurveRendering
の両方はハードウェアアクセラレーション技術です。QtRendering
は 2 つのうちで高速ですが、より多くのメモリを使用し、サイズが大きいとレンダリングアーチファクトが発生します。CurveRendering
は、QtRendering
で良好な視覚結果が得られない場合や、グラフィックスメモリ消費量の削減が優先される場合の代替手段として考慮する必要があります。
デフォルトのレンダリングタイプはQQuickWindow::textRenderType() によって決定される。
selectByMouse : bool |
デフォルトはtrue
です。
trueの場合、ユーザーは通常の方法でマウスを使ってテキストを選択することができます。
注意: 6.4 より前のバージョンでは、デフォルトはfalse
でしたが、このプロパティを有効にすると、タッチスクリーン上で指をドラッグしてテキストを選択することもできるようになります。これは、TextInput が Flickable の内部で使用されている場合、フリック操作の妨げになります。TextField との一貫性を保つため、selectByMouse は現在では本当にそのとおりの意味です。true
の場合、マウスによるドラッグのみでテキストを選択できます。この変更がアプリケーションに合わない場合は、selectByMouse
をfalse
に設定するか、古い API バージョン(たとえばimport QtQuick 6.3
)をインポートして以前の動作に戻すことができます。インポートバージョンを変更することで動作を戻すオプションは、Qt の後のバージョンで削除される予定です。
selectedText : string |
この読み取り専用プロパティは、テキスト入力で現在選択されているテキストを提供します。
以下のスニペットと同等ですが、より高速で使いやすくなっています。
myTextInput.text.toString().substring(myTextInput.selectionStart, myTextInput.selectionEnd);
selectedTextColor : color |
選択部分で使用される、ハイライトされたテキストの色。
selectionColor : color |
テキストのハイライト色。
selectionEnd : int |
現在の選択範囲の最後の文字の後のカーソル位置。
このプロパティは読み取り専用です。選択範囲を変更するには、select(start,end),selectAll(), またはselectWord() を使用する。
selectionStart : int |
現在の選択範囲の最初の文字の前のカーソル位置。
このプロパティは読み取り専用です。選択範囲を変更するには、select(start,end)、selectAll()、またはselectWord() を使用します。
selectionEnd 、cursorPosition 、selectedTextも参照してください 。
text : string |
のテキストは、TextInput 。
キーボードによっては予測機能を使うものもある。この場合、入力メソッドによって構成されるテキストは、このプロパティの一部ではない。予測に関連するテキストの部分は下線が引かれ、preeditText プロパティに格納されます。TextInput に表示されるテキスト全体を取得するには、displayText プロパティを使用します。
clear()、displayText およびpreeditTextも参照ください 。
validator : Validator |
バリデータをTextInput に設定できるようにします。 バリデータが設定されると、TextInput は text プロパティが受理可能な状態または中間状態にある入力のみを受け付けるようになります。Enter キーを押したときにテキストが受け入れ可能な状態になっている場合にのみ、accepted シグナルが送信されます。
現在サポートしているバリデータはIntValidator 、DoubleValidator および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() |
editingFinished() |
textEdited() |
このシグナルはテキストが編集されるたびに発行される。textChanged()
とは異なり、このシグナルはtext
プロパティの値を変更したりclear()
を呼び出したりするなど、 プログラムによってテキストが変更されたときには発行されません。
注: 対応するハンドラはonTextEdited
です。
メソッドの説明
clear() |
テキスト入力の内容をクリアし、入力メソッドからの部分的なテキスト入力をリセットします。
text プロパティを空文字列に設定する代わりに、このメソッドを使用します。
QInputMethod::reset()も参照してください 。
copy() |
現在選択されているテキストをシステム・クリップボードにコピーします。
注意: エコー・モードが Normal 以外に設定されている場合、コピーは機能しません。これは、行制御のパスワード機能をバイパスする方法としてコピーを使用することを防ぐためである。
cut() |
現在選択されているテキストをシステムクリップボードに移動する。
注意: エコーモードがNormal以外に設定されている場合、cutは機能しない。これは、ラインコントロールのパスワード機能をバイパスする方法としてカットを使用することを防ぐためである。
deselect() |
アクティブなテキスト選択を削除する。
ensureVisible(int position) |
テキスト入力の内容をスクロールして、指定された文字position がテキスト入力の境界内に表示されるようにする。
autoScrollも参照のこと 。
moveCursorSelection(int position, SelectionMode mode) |
カーソルをposition に移動し、オプションのパラメータmode に従って選択範囲を更新します。(カーソルの移動のみを行うには、cursorPosition プロパティを設定します)。
このメソッドが呼び出されると、さらにselectionStart またはselectionEnd のいずれか(前のカーソル位置にあった方)が指定された位置に設定されます。これにより、選択したテキスト範囲を簡単に伸ばしたり縮めたりすることができます。
選択モードは、選択範囲を文字単位で更新するか、単語単位で更新するかを指定します。指定しない場合、選択モードのデフォルトはTextInput.SelectCharacters
になります。
定数 | 説明 |
---|---|
TextInput.SelectCharacters | selectionStart またはselectionEnd (どちらか前のカーソル位置) を指定された位置に設定します。 |
TextInput.SelectWords | selectionStart とselectionEnd を、指定位置と前のカーソル位置の間のすべての単語を含むように設定する。部分的に範囲内にある単語も含まれる。 |
たとえば、次の一連の呼び出しを見てみよう:
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() |
現在選択されているテキストをシステムクリップボードの内容で置き換えます。
この関数は、textInput の左上からx とy ピクセルの位置にある文字の位置を返します。位置 0 は最初の文字の前、位置 1 は最初の文字の後で 2 番目の文字の前、text.length の位置まで続きます。
つまり、最初の文字より前のすべてのx値に対してこの関数は0を返し、最後の文字より後のすべてのx値に対してこの関数はtext.lengthを返します。y値がテキストの上にある場合は、最初の行の最も近い文字の位置が返され、テキストの下にある場合は、最後の行の最も近い文字の位置が返されます。
cursorposition パラメータは、カーソル位置の解決方法を指定します:
定数 | 説明 |
---|---|
TextInput.CursorBetweenCharacters | x に最も近い文字間の位置を返す。 |
TextInput.CursorOnCharacter | x に最も近い文字の前の位置を返す。 |
この関数は、文字位置pos を取り、カーソルがその文字位置に置かれた場合に占めるであろう矩形を返します。
これは、cursorPosition を設定してからカーソルの矩形を問い合わせるのと似ているが、cursorPosition は変更されない。
redo() |
redo がavailable の場合、直前の操作をやり直す。
start からend ま でのテ キ ス ト が選択 さ れます。
startまたはendのいずれかが範囲外の場合、選択は変更されない。
このメソッドを呼び出すと、selectionStart が小さい方に、selectionEnd が大きい方になります(このメソッドに渡された順序に関係なく)。
selectionStart およびselectionEndも参照してください 。
selectAll() |
すべてのテキストを選択状態にします。
selectWord() |
現在のカーソル位置に最も近い単語が選択される。
undo() |
undo がavailable の場合、直前の操作を取り消します。現在の選択範囲をすべて解除し、選択開始位置を現在のカーソル位置に更新します。
© 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.