Qt QML Type
Qt の便利な列挙型や関数を備えたグローバルオブジェクトを提供します。詳細...
| Import Statement: | import QtQml |
プロパティ
- application : Application
- inputMethod : InputMethod
- platform : var
- styleHints : QtObject
- uiLanguage : string
方法
- string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)
- string QT_TRID_NOOP(string id)
- string QT_TR_NOOP(string sourceText, string disambiguation)
- color alpha(color baseColor, real value)
- ArrayBuffer atob(ArrayBuffer data)
(since 6.11) - var atob(var data)
(since 6.11) - var binding(var function)
- ArrayBuffer btoa(ArrayBuffer data)
(since 6.11) - var btoa(var data)
(since 6.11) - void callLater(function)
- void callLater(function, argument1, argument2, ...)
- color color(string name)
- color colorEqual(color lhs, string rhs)
- Component createComponent(url url, enumeration mode, QtObject parent)
- Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent)
(since 6.5) - QtObject createQmlObject(string qml, QtObject parent, url url)
- color darker(color baseColor, real factor)
- real enumStringToValue(enumType, keyName)
- string enumValueToString(enumType, keyValue)
- list<string> enumValueToStrings(enumType, keyValue)
- string escapeHtml(string data)
(since 6.12) - void exit(int retCode)
- font font(var fontSpecifier)
- list<string> fontFamilies()
- string formatDate(datetime date, variant format, variant localeFormatOption)
- string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)
- string formatTime(datetime time, variant format, variant localeFormatOption)
- void gc()
- color hsla(real hue, real saturation, real lightness, real alpha)
- color hsva(real hue, real saturation, real value, real alpha)
- bool isQtObject(object)
- color lighter(color baseColor, real factor)
- locale locale(name)
- string md5(data)
- matrix4x4 matrix4x4()
- matrix4x4 matrix4x4(var values)
- matrix4x4 matrix4x4(real m11, real m12, real m13, real m14, real m21, real m22, real m23, real m24, real m31, real m32, real m33, real m34, real m41, real m42, real m43, real m44)
- bool openUrlExternally(url target)
- point point(real x, real y)
- string qsTr(string sourceText, string disambiguation, int n)
- string qsTrId(string id, int n)
- string qsTranslate(string context, string sourceText, string disambiguation, int n)
- quaternion quaternion(real scalar, real x, real y, real z)
- void quit()
- rect rect(real x, real y, real width, real height)
- url resolvedUrl(url url)
- url resolvedUrl(url url, object context)
- color rgba(real red, real green, real blue, real alpha)
- size size(real width, real height)
- color tint(color baseColor, color tintColor)
- url url(url url)
- vector2d vector2d(real x, real y)
- vector3d vector3d(real x, real y, real z)
- vector4d vector4d(real x, real y, real z, real w)
詳細な説明
Qt は、ユーティリティ関数、プロパティ、および列挙型を提供するシングルトン型です。この型の使用方法を示す例を以下に示します:
import QtQuick 2.0
Text {
color: Qt.rgba(1, 0, 0, 1)
text: Qt.md5("hello, world")
}列挙型
このQtオブジェクトには、Qt Namespace で利用可能な列挙型が含まれています。たとえば、Qt::LeftButton およびQt::RightButton の列挙値には、Qt.LeftButton およびQt.RightButton としてアクセスできます。
型
Qtオブジェクトには、特定のデータ型のオブジェクトを作成するためのヘルパー関数も含まれています。これは主に、項目のプロパティが以下のいずれかの型である場合に、そのプロパティを設定する際に役立ちます:
QtQuick モジュールがインポートされている場合、クライアントは特定のデータ型のオブジェクトを作成するための以下のヘルパー関数も利用できます:
color- `Qt.rgba()`、`Qt.hsla()`、`Qt.darker()`、`Qt.lighter()`、または `Qt.tint()` を使用するfont- `Qt.font()` を使用するvector2d-Qt.vector2d() を使用するvector3d-Qt.vector3d() を使用するvector4d-Qt.vector4d() を使用するquaternion- `Qt.quaternion()` を使用するmatrix4x4-Qt.matrix4x4() を使用する
日付・時刻フォーマッタ
この Qt オブジェクトには、QDateTime 、QDate 、およびQTime の値をフォーマットするためのいくつかの関数が含まれています。
- string Qt.formatDateTime(datetime date, variant format)
- string Qt.formatDate(datetime date, variant format)
- string Qt.formatTime(datetime date, variant format)
書式指定については、Qt.formatDateTime に記載されています。
動的なオブジェクトの作成
グローバルオブジェクト上の以下の関数を使用すると、ファイルや文字列からQMLアイテムを動的に作成できます。これらの使用方法の概要については、「JavaScriptからの動的なQMLオブジェクトの作成」を参照してください。
その他の関数
以下の関数も Qt オブジェクトに用意されています。
- Qt.quit()
- Qt.md5(文字列)
- string Qt.btoa(string)
- string Qt.atob(string)
- object Qt.binding(function)
- object Qt.locale()
- string Qt.resolvedUrl(string)
- Qt.openUrlExternally(文字列)
- list<string> Qt.fontFamilies()
プロパティのドキュメント
application : Application
application オブジェクトは、多くのQMLコンポーネントで共有されるグローバルなアプリケーション状態のプロパティへのアクセスを提供します。
これは、Application シングルトンと同じものです。
次の例では、application オブジェクトを使用して、アプリケーションが現在アクティブであるかどうかを示しています:
import QtQuick
Rectangle {
width: 300; height: 55
color: Qt.application.active ? "white" : "lightgray"
Text {
text: "Application " + (Qt.application.active ? "active" : "inactive")
opacity: Qt.application.active ? 1.0 : 0.5
anchors.centerIn: parent
}
}注: QGuiApplication を使用せずに QML を使用する場合 、以下のプロパティは未定義となります:
- application.active
- application.state
- application.layoutDirection
- application.font
inputMethod : InputMethod
これは、InputMethod シングルトンと同じものです。
inputMethod オブジェクトを使用すると、アプリケーションのQInputMethod オブジェクトおよびそのすべてのプロパティやスロットにアクセスできます。詳細については、QInputMethod のドキュメントを参照してください。
platform : var
platform オブジェクトは、基盤となるプラットフォームに関する情報を提供します。
そのプロパティは以下の通りです。
platform.os | この読み取り専用のプロパティには、オペレーティングシステムの名前が含まれます。 取り得る値は以下の通りです:
注: macOSにおけるこのプロパティの 値は 、Appleの命名規則にかかわらず「osx」となります。Qt 7では、返される値が「macos」に更新されます。 |
platform.pluginName | これは、QGuiApplication::platformName() によって返される、QGuiApplication インスタンスに設定されたプラットフォーム名です。 |
styleHints : QtObject
styleHints オブジェクトは、プラットフォーム固有のスタイルヒントや設定を提供します。詳細については、QStyleHints のドキュメントを参照してください。
Qt Quick コンパイラなどのツールに対してより適切な型情報を提供するため、StyleHintsへのアクセスはApplication::styleHints を経由して行うことを推奨します。
注: styleHints オブジェクトは 、Qt Quick モジュールを使用している場合にのみ利用可能です。
uiLanguage : string
uiLanguageには、ユーザーインターフェースの文字列翻訳に使用する言語名が格納されます。C++では、QJSEngine::uiLanguage プロパティとして公開されています。
この値は自由に設定でき、バインディングで使用できます。アプリケーションに翻訳機能を導入した後に設定することを推奨します。慣例として、空の文字列は、ソースコードで使用されている言語からの翻訳を行わないことを意味します。
QQmlApplicationEngine を使用していて、その値が変更されると、QQmlEngine::retranslate() が呼び出されます。
メソッドのドキュメント
string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)
指定されたcontext 内で動的翻訳を行うために、sourceText にマークを付けます。つまり、保存されているsourceText は変更されません。
同じ翻訳コンテキスト内で異なるロールにおいて同じsourceText が使用される場合、disambiguation として追加の識別文字列が渡されることがあります。
sourceText を返します。
QT_TRANSLATE_NOOP は、動的翻訳関数qsTr() およびqsTranslate() と組み合わせて使用されます。これは、その文字列が翻訳を必要とすることを識別しますが(lupdate によって識別されるように)、実際の翻訳は動的関数に委ねられます。
例:
Item {
property string greeting: QT_TRANSLATE_NOOP("CustomContext", "hello")
Text { text: qsTranslate("CustomContext", greeting) }
}「Qt による国際化」も参照してください 。
string QT_TRID_NOOP(string id)
動的翻訳用にid をマークします。
id を返します。
QT_TRID_NOOP は、動的翻訳関数qsTrId() と組み合わせて使用されます。これは、文字列が翻訳を必要とすることを識別しますが(lupdate によって識別可能)、実際の翻訳処理はqsTrId() に委ねます。
例:
qsTrId() およびQt による国際化も参照してください 。
string QT_TR_NOOP(string sourceText, string disambiguation)
動的翻訳を行うためのsourceText を指定します。つまり、保存されているsourceText は変更されません。
同じ翻訳コンテキスト内で異なるロールにおいて同じ `sourceText ` が使用される場合、`disambiguation` に対して追加の識別文字列が渡されることがあります。
sourceText を返します。
QT_TR_NOOP は、動的翻訳関数qsTr() およびqsTranslate() と組み合わせて使用されます。これは、その文字列が翻訳を必要とすることを識別しますが(lupdate によって識別可能)、実際の翻訳は動的関数に委ねられます。
例:
「Qt による国際化」も参照してください 。
color alpha(color baseColor, real value)
アルファ値がvalue のbaseColor を返します。
value は、0(完全に透明)から1(完全に不透明)までの実数です。
注: 型付き変数の使用を推奨します 。Color::transparent
[since 6.11] ArrayBuffer atob(ArrayBuffer data)
ASCIIからバイナリへ — この関数は、Base64エンコードされたdata をデコードして返します。
data として任意の配列のようなものを渡すことができ、それをバイト配列に変換しようとします。特に、数値のリストや1文字の文字列のリストでは正常に動作します。ただし、最も効率的な方法は、QByteArray または JavaScript の ArrayBuffer オブジェクトのいずれかを渡すことです。
変換に失敗し、data が期待された形式でないことが判明した場合、Invalid Character 例外がスローされ、空の配列が返されます。
このメソッドは Qt 6.11 で導入されました。
[since 6.11] var atob(var data)
ASCIIからバイナリへ — この関数は、Base64エンコードされたdata をデコードして、その結果を返します。
これはオーバーロードされた関数です。
このメソッドは Qt 6.11 で導入されました。
var binding(var function)
プロパティのバインディングを表す JavaScript オブジェクトを返し、そのバインディングを評価するfunction を含みます。
この関数には主に2つのユースケースがあります。1つ目は、JavaScriptコードから命令型にプロパティバインディングを適用する場合です。
Item {
property bool someCondition: true
property int edgePosition
Component.onCompleted: {
if (someCondition == true) {
// bind to the result of the binding expression passed to Qt.binding()
edgePosition = Qt.binding(function() { return x + width })
}
}
}次に、動的に生成されたオブジェクトのプロパティ値を初期化する際(Component.createObject() またはLoader.setSource() を通じて)に、プロパティのバインディングを適用する場合です。
たとえば、DynamicText コンポーネントが存在すると仮定します:
import QtQuick
Text {
id: textElement
width: 200
height: 200
text: "Default text"
property string dynamicText: "Dynamic text"
onTextChanged: console.log(text)
}以下のコードからの出力:
Item {
id: root
property string dynamicText: "Root text"
Component.onCompleted: {
var c = Qt.createComponent("DynamicText.qml")
var obj1 = c.createObject(root, { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
root.dynamicText = "Modified root text"
var obj2 = c.createObject(root, { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
obj2.dynamicText = "Modified dynamic text"
}
}および次のコードからの出力:
Item {
id: root
property string dynamicText: "Root text"
Loader {
id: loaderOne
onLoaded: root.dynamicText = "Modified root text"
}
Loader {
id: loaderTwo
onLoaded: item.dynamicText = "Modified dynamic text"
}
Component.onCompleted: {
loaderOne.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
loaderTwo.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
}
}は、どちらも次のようになります:
Root text extra text
Modified root text extra text
Dynamic text extra text
Modified dynamic text extra textこの関数は、結果が var プロパティにバインドされた配列に格納される場合を除き、プロパティバインディング宣言(バインディング宣言およびバインディング代入に関するドキュメントを参照)では使用できません。
Item {
width: 50
property var storedBindings: [ Qt.binding(function() { return x + width }) ] // stored
property int a: Qt.binding(function() { return x + width }) // error!
property int b
Component.onCompleted: {
b = storedBindings[0] // causes binding assignment
}
}[since 6.11] ArrayBuffer btoa(ArrayBuffer data)
バイナリからASCII — この関数は、data のBase64エンコード値を返します。
data として任意の配列のようなものを渡すことができ、それをバイト配列に変換しようとします。特に、数値のリストや1文字の文字列のリストでは正常に動作します。ただし、これを行う最も効率的な方法は、QByteArray または JavaScript の ArrayBuffer オブジェクトのいずれかを渡すことです。
変換に失敗し、data が期待された形式ではないことが判明した場合、Invalid Character 例外がスローされ、空の配列が返されます。
このメソッドは Qt 6.11 で導入されました。
[since 6.11] var btoa(var data)
バイナリからASCII — この関数は、data のBase64エンコード値を返します。
これはオーバーロードされた関数です。
このメソッドは Qt 6.11 で導入されました。
この関数を使用すると、関数やシグナルへの冗長な呼び出しを排除できます。
Qt XML.callLater() の第1引数として渡された関数は、QMLエンジンがイベントループに戻った後に呼び出されます。
この関数が、最初の引数として同じ関数を指定して短時間に連続して複数回呼び出された場合、その関数は 1 回だけ呼び出されます。
例:
import QtQuick
Rectangle {
width: 480
height: 320
property int callsToUpdateMinimumWidth: 0
property bool optimize: true
property int currentTextModel: 0
property var columnTexts: [
["Click on either", "rectangle above", "and note how the counter", "below updates", "significantly faster using the", "regular (non-optimized)", "implementation"],
["The width", "of this column", "is", "no wider than the", "widest item"],
["Note how using Qt.callLater()", "the minimum width is", "calculated a bare-minimum", "number", "of times"]
]
Text {
x: 20; y: 280
text: "Times minimum width has been calculated: " + callsToUpdateMinimumWidth
}
Row {
y: 25; spacing: 30; anchors.horizontalCenter: parent.horizontalCenter
Rectangle {
width: 200; height: 50; color: "lightgreen"
Text { text: "Optimized behavior\nusing Qt.callLater()"; anchors.centerIn: parent }
MouseArea { anchors.fill: parent; onClicked: { optimize = true; currentTextModel++ } }
}
Rectangle {
width: 200; height: 50; color: "lightblue"
Text { text: "Regular behavior"; anchors.centerIn: parent}
MouseArea { anchors.fill: parent; onClicked: { optimize = false; currentTextModel++ } }
}
}
Column {
id: column
anchors.centerIn: parent
onChildrenChanged: optimize ? Qt.callLater(updateMinimumWidth) : updateMinimumWidth()
property int widestChild
function updateMinimumWidth() {
callsToUpdateMinimumWidth++
var w = 0;
for (var i in children) {
var child = children[i];
if (child.implicitWidth > w) {
w = child.implicitWidth;
}
}
widestChild = w;
}
Repeater {
id: repeater
model: columnTexts[currentTextModel%3]
delegate: Text {
color: "white"
text: modelData
width: column.widestChild
horizontalAlignment: Text.Center
Rectangle { anchors.fill: parent; z: -1; color: index%2 ? "gray" : "darkgray" }
}
}
}
}Qt XML.callLater() に渡された追加の引数は、呼び出される関数にすべて渡されます。なお、冗長な呼び出しが排除された場合、その関数に渡されるのは最後の引数のセットのみとなる点に注意してください。
color color(string name)
指定されたname (つまり、red または #ff0000)に対応する色を返します。そのような色が存在しない場合は、null が返されます。
注: 型指定されたColor::fromString
color colorEqual(color lhs, string rhs)
lhs とrhs の両方が等しい色値を返す場合、true を返します。両方の引数は、色値または文字列値のいずれでも構いません。文字列値が指定された場合、color 値型で説明されているように、その値は色に変換可能でなければなりません。
注: 型指定されたColor::equal
Component createComponent(url url, enumeration mode, QtObject parent)
指定されたurl にあるQMLファイル、または空の文字列が指定された場合はnull を使用して作成されたComponent オブジェクトを返します。
返されるコンポーネントの `Component::status ` プロパティは、コンポーネントが正常に作成されたかどうかを示します。ステータスが `Component.Error` の場合、エラーの詳細については `Component::errorString()` を参照してください。
オプションのmode パラメータがComponent.Asynchronous に設定されている場合、コンポーネントはバックグラウンドスレッドで読み込まれます。読み込み中は、Component::status プロパティがComponent.Loading となります。コンポーネントの読み込みに成功するとステータスはComponent.Ready に、読み込みに失敗するとComponent.Error に変わります。このパラメータは省略された場合、デフォルトでComponent.PreferSynchronous となります。
mode がComponent.PreferSynchronous に設定されている場合、Qtはコンポーネントを同期的に読み込もうとしますが、必要に応じて非同期的に読み込むこともあります。非同期読み込みが発生する可能性のあるシナリオには、以下が含まれますが、これらに限定されません:
- URLがネットワークリソースを指している場合
- コンポーネントが、非同期で読み込まれている別のコンポーネントの結果として作成されている場合
オプションの `parent ` パラメータが指定された場合、それは作成される `Component ` オブジェクトの親となるオブジェクトを参照する必要があります。モードが指定されていない場合、これは 2 番目の引数となります。
返されたコンポーネントに対してComponent.createObject()を呼び出し、そのコンポーネントのオブジェクトインスタンスを作成します。
例:
import QtQuick
Item {
id: container
width: 300; height: 300
function loadButton() {
var component = Qt.createComponent("Button.qml");
if (component.status == Component.Ready) {
var button = component.createObject(container);
button.color = "red";
}
}
Component.onCompleted: loadButton()
}この関数の使用方法の詳細については、「JavaScript からの動的な QML オブジェクトの作成」を参照してください。
(ファイルではなく)任意のQML文字列からQMLオブジェクトを作成するには、Qt.createQmlObject() を使用します。
[since 6.5] Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent)
moduleUri およびtypeName で指定された型に対して作成されたComponent オブジェクトを返します。
import QtQml
QtObject {
id: root
property Component myComponent: Qt.createComponent("QtQuick", "Rectangle", Component.Asynchronous, root)
}このオーバーロードは、主に `url ` ベースのバージョンと同様に動作しますが、URL を持たない型(例:QML_ELEMENT 経由で登録された C++ 型)のインスタンス化にも使用できます。
注: 場合によっては 、Component.Asynchronous を渡しても何の効果もありません:
- その型が C++ で実装されている場合
- その型がインラインコンポーネントである場合。
オプションのparent パラメータが指定された場合、それは作成されるComponent オブジェクトの親となるオブジェクトを参照する必要があります。モードが渡されなかった場合、これは2番目の引数となります。
これはオーバーロードされた関数です。
このメソッドは Qt 6.5 で導入されました。
QtObject createQmlObject(string qml, QtObject parent, url url)
指定されたqml 文字列をコンポーネントとしてコンパイルし、そのコンポーネントから作成された新しいオブジェクトを返します。この新しいオブジェクトには、指定されたparent が設定されます。コンポーネントまたはオブジェクトの作成中にエラーが発生した場合は、null を返します。
url が指定された場合、それはコンポーネントのURLとして使用されます。これはエラー報告に役立ちます。
警告: 新しいコンポーネントは 、同じURLを持つ既存のコンポーネントをオーバーライドします。既存のコンポーネントのURLを渡さないでください。特に、囲んでいるQMLファイルのURLを渡すと、新しいコンポーネントからそのコンポーネントへのアクセスができなくなります。
例(parentItem は既存の QML 項目の ID です):
const newObject = Qt.createQmlObject(`
import QtQuick
Rectangle {
color: "red"
width: 20
height: 20
}
`,
parentItem,
"myDynamicSnippet"
);エラーが発生した場合、QQmlError オブジェクトがスローされます。このオブジェクトには、qmlErrors という追加のプロパティがあり、これは発生したエラーの配列です。この配列内の各オブジェクトには、lineNumber 、columnNumber 、fileName 、message というメンバーがあります。 たとえば、上記のスニペットで「color」のスペルを「colro」と間違えていた場合、配列には次のようなオブジェクトが含まれます:{ "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "存在しないプロパティ "colro" に代入できません"}。
注:この関数は即 座に返るため、qml の文字列が新しいコンポーネント(つまり、まだ読み込まれていない外部のQMLファイル)を読み込む場合は、正常に動作しない可能性があります。その場合は、代わりにQt.createComponent()の使用を検討してください。
警告:この関数は 、呼び出されるたびに渡された QML 文字列をコンパイルする必要があるため、処理が非常に遅くなります。さらに、プログラムで QML コードを構築する場合、無効な QML コードが生成されやすくなります。 文字列操作によって新しいコンポーネントを作成するよりも、QMLコンポーネントを個別のファイルとして保持し、プロパティやメソッドを追加してその動作をカスタマイズする方がはるかに望ましいです。
この関数の使用に関する詳細については、「JavaScript からの動的な QML オブジェクトの作成」を参照してください。
color darker(color baseColor, real factor)
指定されたfactor 分だけ、baseColor よりも暗い色を返します。
係数が 1.0 より大きい場合、この関数はより暗い色を返します。 factor を 3.0 に設定すると、明るさが 3 分の 1 の色が返されます。factor が 1.0 未満の場合、返される色は明るくなりますが、この目的には Qt.lighter() 関数を使用することをお勧めします。factor が 0 または負の場合、戻り値は未定義です。
この関数は、現在の RGB 色を HSV に変換し、値 (V) 成分を factor で割り、その色を再び RGB に変換します。
factor が指定されていない場合、baseColor より50%暗い色(係数2.0)を返します。
注: 型指定されたColor::darker
real enumStringToValue(enumType, keyName)
列挙型 `enumType` 内のキー `keyName ` の数値値を返します。列挙型が見つからない場合は、TypeError 例外がスローされます。キーが列挙型のエントリでない場合は、ReferenceError 例外がスローされます。
string enumValueToString(enumType, keyValue)
値が `keyValue` である、列挙型 `enumType ` のキーの文字列表現を返します。列挙型が見つからない場合は、TypeError 例外がスローされます。値が列挙型のどのキーとも一致しない場合は、ReferenceError 例外がスローされます。
注: keyValue の値に一致するキーが複数ある場合 、どのキーが返されるかは未定義です。その場合は、enumValueToStrings を使用してください。
list<string> enumValueToStrings(enumType, keyValue)
enumType 列挙型のキーのうち、値がkeyValue であるすべてのキーの文字列表現のリストを返します。列挙型が見つからない場合は、TypeError がスローされます。列挙型のキーに値keyValue を持つものが存在しない場合は、ReferenceError がスローされます。
[since 6.12] string escapeHtml(string data)
HTMLの特殊文字がエスケープされたdata を返します。
この関数は、プレーンテキスト文字列data を、HTML メタ文字< 、> 、& 、および" が HTML エンティティに置換された HTML 文字列に変換します。
例:
var plain = "<script>alert('XSS')</script>";
var escaped = Qt.escapeHtml(plain);
// escaped is now "<script>alert('XSS')</script>"このメソッドは Qt 6.12 で導入されました。
QString::toHtmlEscaped()も参照してください 。
void exit(int retCode)
この関数は、QQmlEngine::exit(int) シグナルを発生させます。qml ツール内では、これによりランチャーアプリケーションが指定されたリターンコード(retCode )で終了します。このメソッドが呼び出された際に、指定されたリターンコードでイベントループから終了させるには、C++ アプリケーションでQQmlEngine::exit(int) シグナルをQCoreApplication::exit(int) スロットに接続します。
quit()も参照してください 。
font font(var fontSpecifier)
fontSpecifier オブジェクトで指定されたプロパティを持つフォント、またはそれに最も近いフォントを返します。fontSpecifier オブジェクトには、キーと値のペアが含まれている必要があります。有効なキーはfont 型のサブプロパティ名であり、値は各サブプロパティの有効な値です。無効なキーは無視されます。
list<string> fontFamilies()
アプリケーションで使用可能なフォントファミリーのリストを返します。
string formatDate(datetime date, variant format, variant localeFormatOption)
date の文字列表現を返します。オプションで、format を使用してフォーマットすることもできます。
date パラメータは、JavaScript のDate オブジェクト、date プロパティ、QDate 、またはQDateTime の値のいずれかです。format およびlocaleFormatOption パラメータは、Qt.formatDateTime() で説明されている有効なフォーマット値のいずれかです。
format が指定されていない場合、date は、デフォルトのロケールを使用してLocale.ShortFormat によってフォーマットされます。
「Locale」も参照してください 。
string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)
dateTime の文字列表現を返します。必要に応じて、format およびlocaleFormatOption を使用してフォーマットされます。
dateTime パラメータは、JavaScript のDate オブジェクト、date プロパティ、QDate 、QTime 、またはQDateTime の値のいずれかです。
format が指定されていない場合、dateTime はデフォルトのロケールを使用してLocale.ShortFormat に基づいてフォーマットされます。それ以外の場合、format は以下のいずれかである必要があります:
- Qt::DateFormat 列挙値のいずれか(例:
Qt.RFC2822DateまたはQt.ISODate)。 - 以下で詳述するように、返される文字列の書式を指定する文字列。
localeオブジェクト。
format がロケールオブジェクトを指定する場合、dateTime はQLocale::toString を用いてフォーマットされます。この場合、localeFormatOption には、フォーマットをさらに微調整するためのQLocale::FormatType 型の値を格納できます。何も指定されない場合は、Locale.ShortFormat が使用されます。
format でフォーマット文字列を指定する場合、日付を指定するには以下の式を使用する必要があります:
| 式 | 出力 |
|---|---|
| d | 先頭のゼロを省いた数字としての日(1~31) |
| dd | 先頭にゼロを付けた日付の数字(01~31) |
| ddd | 地域に応じた略称の日名(例:'Mon'~'Sun')。QDate::shortDayName() を使用します。 |
| dddd | ローカライズされた長い曜日名(例: 「Monday」から「Qt::Sunday 」まで)。QDate::longDayName() を使用します。 |
| M | 先頭のゼロを省いた月番号(1~12) |
| MM | 先頭にゼロを付けた月を表す数字(01~12) |
| MMM | 地域に応じた月の略称(例:「Jan」~「Dec」)。QDate::shortMonthName() を使用します。 |
| MMMM | ローカライズされた月の完全な名称(例:「January」から「December」まで)。QDate::longMonthName() を使用します。 |
| yy | 2桁の年(00~99) |
| yyyy | 4桁の西暦 |
さらに、時刻を指定するには以下の式を使用できます:
| 式 | 出力 |
|---|---|
| h | 先頭のゼロを省いた時間(0~23、またはAM/PM表示の場合は1~12) |
| hh | 先頭のゼロを含む時間(00~23、またはAM/PM表示の場合は01~12) |
| m | 先頭のゼロなしの分(0~59) |
| mm | 先頭にゼロをつけた分(00~59) |
| s | 先頭のゼロなしの秒(0~59) |
| ss | 先頭にゼロが付いた秒(00~59) |
| z | 先頭のゼロがないミリ秒(0~999) |
| zzz | 先頭にゼロを付けたミリ秒(000~999) |
| AP | AM/PM 表示を使用します。AP は「AM」または「PM」のいずれかに置き換えられます。 |
| ap | AM/PM表示を使用します。「ap」は「am」または「pm」のいずれかに置き換えられます。 |
| t | タイムゾーンの指標を含めます。 |
それ以外の入力文字はすべて無視されます。単一引用符で囲まれた文字列は、式として扱われることなく、テキストとして扱われます。連続する2つの単一引用符("''")は、出力時に1つの単一引用符に置き換えられます。
たとえば、次のような日付/時刻の値が指定された場合:
// 21 May 2001 14:13:09
var dateTime = new Date(2001, 5, 21, 14, 13, 09)このdateTime 値は、以下のformat の値と共にQt.formatDateTime() 、Qt.formatDate()、またはQt.formatTime()に渡すことで、次のような結果が得られます:
| フォーマット | 形式 |
|---|---|
| "dd.MM.yyyy" | 21.05.2001 |
| "ddd MMMM d yy" | 2001年5月21日(火) |
| "hh:mm:ss.zzz" | 14:13:09.042 |
| "h:m:s ap" | 午後2時13分9秒 |
Localeも参照してください 。
string formatTime(datetime time, variant format, variant localeFormatOption)
time の文字列表現を返します。オプションで、format および(指定された場合)localeFormatOption を使用してフォーマットされます。
time パラメータは、JavaScript のDate オブジェクト、QTime 、またはQDateTime の値のいずれかです。format およびlocaleFormatOption パラメータは、Qt.formatDateTime() で説明されている利用可能なフォーマット値のいずれかです。
format が指定されていない場合、time はデフォルトのロケールを使用してLocale.ShortFormat に基づいて書式設定されます。
「Locale」も参照してください 。
void gc()
ガベージコレクタを実行します。
これは、QJSEngine::collectGarbage() を呼び出すのと同じです。
「ガベージコレクション」も参照してください 。
color hsla(real hue, real saturation, real lightness, real alpha)
指定されたhue 、saturation 、lightness 、およびalpha の各成分を持つ色を返します。すべての成分は0~1(両端を含む)の範囲内である必要があります。
注: 型指定されたColor::hsla
color hsva(real hue, real saturation, real value, real alpha)
指定されたhue 、saturation 、value 、およびalpha の各成分を持つ色を返します。すべての成分は0から1の範囲内(両端を含む)である必要があります。
注: 型指定されたColor::hsva
bool isQtObject(object)
object が Qt または QML オブジェクトへの有効な参照である場合は `true ` を返し、それ以外の場合は `false ` を返します。
color lighter(color baseColor, real factor)
指定されたfactor 分だけ、baseColor よりも明るい色を返します。
係数が 1.0 より大きい場合、この関数はより明るい色を返します。 factor を 1.5 に設定すると、50% 明るい色が返されます。factor が 1.0 未満の場合、返される色は暗くなりますが、この目的には Qt.darker() 関数の使用をお勧めします。factor が 0 または負の場合、戻り値は未定義となります。
この関数は、現在の RGB 色を HSV に変換し、V 成分に factor を乗算して、その色を再び RGB に変換します。
factor が指定されていない場合、baseColor より50%明るい色(係数1.5)を返します。
注: 型指定されたColor::lighter
locale locale(name)
指定されたname を持つロケールを表すJSオブジェクトを返します。 の形式は「language[_territory][.codeset][@modifier]」または「C」です。ここで、
languageは、小文字の2文字からなるISO 639言語コードであり、territoryは、大文字の2文字からなるISO 3166国コードであり、codesetmodifierは無視されます。
文字列がロケール形式に違反している場合、または language が有効な ISO 369 コードでない場合は、代わりに「C」ロケールが使用されます。country が存在しない場合、または有効な ISO 3166 コードでない場合は、指定された言語に対して最も適切な国が選択されます。
返されるオブジェクトは、QLocale をバックエンドとする匿名 QML 型です。
Localeも参照してください 。
string md5(data)
data の MD5 ハッシュを 16 進数の文字列として返します。
matrix4x4 matrix4x4()
4×4の単位行列を返します。
matrix4x4 matrix4x4(var values)
指定されたvalues を持つ4×4の行列を返します。values は、16個の要素を持つJavaScriptの配列であることが想定されています。
配列のインデックスは、次のように行列内の位置に対応しています:
| 0 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 |
matrix4x4 matrix4x4(real m11, real m12, real m13, real m14, real m21, real m22, real m23, real m24, real m31, real m32, real m33, real m34, real m41, real m42, real m43, real m44)
指定された値を持つ4×4の行列を返します。
引数は、行列内の位置に対応しています:
| m11 | m12 | m13 | m14 |
| m21 | m22 | m23 | m24 |
| m31 | m32 | m33 | m34 |
| m41 | m42 | m43 | m44 |
bool openUrlExternally(url target)
ユーザーのデスクトップ設定に基づいて、指定された URL「target 」を外部アプリケーションで開こうとします。成功した場合は `true ` を返し、それ以外の場合は `false ` を返します。
target が相対 URL の場合、それが解決されます。その後、URL はQDesktopServices::openUrl に転送されます。
警告: true が返された場合 、アプリケーションがオペレーティングシステムに対し、URL を外部アプリケーションで開くよう要求することに成功したことを示します。ただし、外部アプリケーションの起動に失敗したり、要求された URL を開くことに失敗したりする可能性があります。この結果はアプリケーションには報告されません。
警告: 信頼できない URL を openUrlExternallyに渡すと 、予期しない動作を引き起こす可能性があります。信頼できない URL をこの関数に渡す場合は、JavaScript の URL オブジェクトを作成し、そのprotocol プロパティを許可されたプロトコルのリストと照合して確認してください。また、host などの他のプロパティに基づいて、さらにフィルタリングを行うこともできます。
point point(real x, real y)
指定されたx およびy の座標を持つ点を返します。
string qsTr(string sourceText, string disambiguation, int n)
sourceText の翻訳版を返します。複数形を含む文字列については、オプションでdisambiguation の文字列およびn の値を基に翻訳を行います。適切な翻訳文字列が存在しない場合は、sourceText 自体を返します。
sourceText およびn を使用した例:
Text { text: qsTr("hello") } // Translates the source text into the correct
// plural form and replaces %n with the value of total.
Text {
text: qsTr("%n message(s) saved", "", total)
}同じ翻訳コンテキスト内で、異なるロールにおいて同じsourceText が使用される場合、disambiguation に対して追加の識別文字列を渡すことができます。詳細や例については、「同一テキストの曖昧性解消」を参照してください。
「 qsTranslate()」、「Qt による国際化」、および「翻訳のためのソースコードの記述」も参照してください 。
string qsTrId(string id, int n)
id で指定された文字列の翻訳結果を返します。一致する文字列が見つからない場合は、その ID 自体が返されます。通常、このようなことは起こりません。
n >= 0 の場合、結果の文字列内のすべての `%n ` が、n の10進数表記に置き換えられます。さらに、n の値に応じて、翻訳テキストが異なる場合があります。
例:
Text { text: qsTrId("hello_id") }次のようなソース文字列テンプレートを指定することができます:
//% <string>
Text {
//% "hello"
text: qsTrId("hello_id")
}または
/*% <string> */
Text {
/*% "hello" */
text: qsTrId("hello_id")
}この関数で使用可能なバイナリ翻訳(QM)ファイルを作成するには、lrelease ツールに-idbased オプションを指定する必要があります。
「 QT_TRID_NOOP()」および「Qt による国際化」も参照してください 。
string qsTranslate(string context, string sourceText, string disambiguation, int n)
指定されたcontext 内で、sourceText の翻訳版を返します。複数形を含む文字列については、オプションでdisambiguation の文字列およびn の値に基づいて翻訳を行います。適切な翻訳文字列が存在しない場合は、sourceText 自体を返します。
同じ翻訳context 内で異なる役割において同じsourceText が使用される場合、disambiguation として追加の識別文字列を渡すことができます。
例:
Text { text: qsTranslate("CustomContext", "hello") }ファイルcontext と異なる翻訳context がある場合に使用します。
「Qt による国際化」および `qsTr()`も参照してください 。
quaternion quaternion(real scalar, real x, real y, real z)
指定されたscalar 、x 、y 、およびz の値を持つクォータニオンを返します。
void quit()
この関数は、QQmlEngine::quit() シグナルを発火させます。qml ツール内では、これによりランチャーアプリケーションが終了します。このメソッドが呼び出された際に C++ アプリケーションを終了させるには、QQmlEngine::quit() シグナルをQCoreApplication::quit() スロットに接続してください。
exit()も参照してください 。
rect rect(real x, real y, real width, real height)
x 、y を左上隅とし、指定されたwidth およびheight を持つ矩形を返します。
url resolvedUrl(url url)
呼び出し元のURLを基準として解決されたurl を返します。
呼び出し元が存在しない場合、または呼び出し元が QML コンテキストに関連付けられていない場合は、QML エンジンのベース URL を基準として解決された `url ` を返します。QML エンジンにベース URL がない場合は、単に `url` を返します。
url()も参照してください 。
url resolvedUrl(url url, object context)
context の QML コンテキストの URL を基準として解決されたurl を返します。context が QML コンテキストに関連付けられていない場合は、QML エンジンのベース URL を基準として解決されたurl を返します。QML エンジンにベース URL がない場合は、単にurl を返します。
url()も参照してください 。
color rgba(real red, real green, real blue, real alpha)
指定されたred 、green 、blue 、およびalpha の各成分を持つ色を返します。すべての成分は0~1(両端を含む)の範囲内である必要があります。
注: 型付きColor::rgba
size size(real width, real height)
指定されたwidth およびheight を持つサイズを返します。
color tint(color baseColor, color tintColor)
この関数を使用すると、ある色(baseColor )を別の色(tintColor )で着色することができます。
ティントカラーは通常、ほぼ透明である必要があります。そうしないと、下地の色が見えなくなってしまいます。以下の例では、不透明度を1/16に設定した純赤をティントカラーとして使用することで、わずかに赤みを帯びた色合いを表現しています。
Item {
Rectangle {
x: 0; width: 80; height: 80
color: "lightsteelblue"
}
Rectangle {
x: 100; width: 80; height: 80
color: Qt.tint("lightsteelblue", "#10FF0000")
}
}
ティントは、何らかのイベントによって微妙な変化を表現したい場合に最も有用です。ティントを使用することで、表示される色を効果的に調整することができます。
注: 型付きColor::tint
url url(url url)
url をそのまま返します。これは、url への型変換を強制するために使用できます。Qt XML.resolvedUrl() とは対照的に、この関数は相対 URL を保持します。文字列は暗黙的に URL に変換されるため、この関数には文字列を引数として渡すことができ、その場合は URL を返します。
resolvedUrl()も参照してください 。
vector2d vector2d(real x, real y)
指定されたx およびy の値を持つvector2dを返します。
vector3d vector3d(real x, real y, real z)
指定されたx 、y 、およびz の値を持つvector3dを返します。
vector4d vector4d(real x, real y, real z, real w)
指定されたx 、y 、z 、およびw の値を持つvector4dを返します。
© 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.