string QML Value Type
自由形式のテキスト文字列。詳細...
| Since: | Qt 6.12 |
詳細な説明
string 型は、引用符で囲まれた自由形式のテキスト文字列(例:"Hello world!")を指します。QML言語では、この値型がデフォルトで提供されています。
例:
Text { text: "Hello world!" }string 型のプロパティは、デフォルトでは空です。
文字列には、文字列内の文字数を保持する `length ` 属性があります。
文字列値型は、C++型のQString によって実装されています。これは、JavaScriptのStringプリミティブ型を拡張したもので、ほぼ同様のAPIに加え、いくつかの追加メソッドを提供します。例えば、QMLの文字列値型のメソッドarg() は、値の置換をサポートしています:
var message = "There are %1 items"
var count = 20
console.log(message.arg(count)) // "There are 20 items"arg() メソッドは複数の引数もサポートしており、1回の呼び出しで複数のプレースホルダーを置換することができます:
var message = "%1 of %2 files copied. Errors: %3"
console.log(message.arg(5, 7, 0)) // "5 of 7 files copied. Errors: 0"複数の引数を使用することは、arg() の呼び出しを連鎖させるよりも効率的であり、引数自体にプレースホルダーが含まれている場合の問題を防ぐことができます:
var result = "%1 %2".arg("%1f", "Hello") // "%1f Hello" (correct)
// Compare with chained calls:
var result = "%1 %2".arg("%1f").arg("Hello") // "Hellof %2" (incorrect)QMLの文字列値型は、テンプレート(文字列)リテラル、文字列補間、複数行の文字列、文字列のループ処理など、ECMAScriptの文字列機能のほとんどをサポートしています。
一般的に、QMLの文字列は、string.includes() 、string.startsWith() 、string.endsWith() を使用した包含チェック、string.repeats() による文字列の繰り返し、string.slice() およびstring.split() によるスライスや分割など、JavaScriptのStringメソッドのほとんどをサポートしています。
QMLがサポートするECMAScriptのバージョンに関する詳細については、「JavaScriptホスト環境」を参照してください。
JavaScriptのStringメソッドに関する詳細については、mdnの「JavaScript String」を参照してください
C++ と統合する場合、C++ から QML に渡される QString 値は自動的にstring 値に変換され、その逆も同様であることに注意してください。
「QML 値型」および「ECMAScript 言語仕様」も参照してください 。
© 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.