このページでは

Qt QML Type

Qt の便利な列挙型と関数を持つグローバルオブジェクトを提供します。詳細...

Import Statement: import QtQml

プロパティ

方法

  • 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)
  • object createQmlObject(string qml, object parent, url url)
  • color darker(color baseColor, real factor)
  • real enumStringToValue(enumType, keyName)
  • string enumValueToString(enumType, keyValue)
  • list<string> enumValueToStrings(enumType, keyValue)
  • void exit(int retCode)
  • font font(object 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::LeftButtonQt::RightButton の列挙値には、Qt.LeftButtonQt.RightButton としてアクセスできます。

Qt オブジェクトには、特定のデータ型のオブジェクトを作成するためのヘルパー関数も含まれています。これは主に、ある項目のプロパティを設定するときに便利です:

QtQuick モジュールがインポートされている場合、特定のデータ型のオブジェクトを作成するための以下のヘルパー関数も、クライアントが使用できます:

日付/時刻フォーマット

Qt オブジェクトには、QDateTimeQDateQTime の値をフォーマットするための関数がいくつか含まれています。

フォーマットの仕様についてはQt.formatDateTime を参照してください。

動的なオブジェクトの作成

グローバルオブジェクトの以下の関数を使うと、ファイルや文字列から動的に QML オブジェクトを作成することができます。この関数の概要については、JavaScriptからの動的なQMLオブジェクト生成を参照してください。

その他の関数

以下の関数も Qt オブジェクトにあります。

プロパティ・ドキュメンテーション

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.active
  • application.layoutDirection
  • application.font

inputMethod : InputMethod

これはInputMethod シングルトンと同じである。

inputMethod オブジェクトは、アプリケーションのQInputMethod オブジェクトとそのすべてのプロパティとスロットにアクセスできます。詳細はQInputMethod のドキュメントを参照してください。

platform : object

platform オブジェクトは、基盤となるプラットフォームに関する情報を提供します。

そのプロパティは以下のとおりです:

platform.osこの読み取り専用プロパティには、オペレーティング・システムの名前が含まれています。

取り得る値は以下のとおりです:

  • "android" - Android
  • "ios" - iOS
  • "tvos" - tvOS
  • "visionos" - ビジョンOS
  • "linux" - Linux
  • "osx" - macOS
  • "qnx" - QNX(Qt 5.9.3 以降)
  • "unix" - その他のUnixベースOS
  • "windows" - Windows
  • "wasm" - WebAssembly

注意: macOS でのプロパティの値は、Apple の命名規則に関係なく "osx" です。Qt 7 では、返される値は "macos" に更新されます。

platform.pluginNameこれは、QGuiApplication::platformName() によって返される、QGuiApplication インスタンスに設定されたプラットフォームの名前です。

styleHints : object

styleHints オブジェクトは、プラットフォーム固有のスタイルヒントと設定を提供します。詳細はQStyleHints のドキュメントを参照してください。

代わりにApplication::styleHints から StyleHints にアクセスしてください。この方がQt Quick Compiler などのツールでより良い型情報を提供できるからです。

注: 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() とともに使用されます。QT_TRANSLATE_NOOP は、翻訳が必要な文字列であることを識別します(したがって、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() と組み合わせて使用します。QT_TRID_NOOP は、文字列を翻訳が必要なものとして識別しますが (lupdate で識別できるようにします)、実際の翻訳はqsTrId() に任せます。

Item {
    property string greetingId: QT_TRID_NOOP("hello_id")

    Text { text: qsTrId(greetingId) }
}

qsTrId() やInternationalization with Qtも参照して ください。

string QT_TR_NOOP(string sourceText, string disambiguation)

sourceText すなわち、保存されているsourceText は変更されない。

つまり、保存されているdisambiguation は変更されません。 同じsourceText が同じ翻訳コンテキスト内で異なる役割で使用される場合、 に追加の識別文字列を渡すことができます。

sourceText を返します。

QT_TR_NOOP は、動的翻訳関数qsTr() およびqsTranslate() と組み合わせて使用します。QT_TR_NOOP は、文字列を翻訳が必要なものとして識別します(したがって、lupdate で識別できます)が、実際の翻訳は動的関数に委ねられます。

Item {
    property string greeting: QT_TR_NOOP("hello")

    Text { text: qsTr(greeting) }
}

Qt による国際化」も参照してください

color alpha(color baseColor, real value)

value のアルファ値を持つbaseColor を返します。

value は 0 (完全に透明) から 1 (完全に不透明) までの実数です。

[since 6.11] ArrayBuffer atob(ArrayBuffer data)

ASCII to binary - この関数は、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 と と も に返 し ます。

第一に、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"
    }
}

と from:

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)

Binary to ASCII - この関数は、data の base64 エンコーディングを返します。

これはオーバーロードされた関数です。

このメソッドは Qt 6.11 で導入されました。

void callLater(function)

void callLater(function, argument1, argument2, ...)

関数やシグナルの冗長な呼び出しを排除するためにこの関数を使います。

Qt.callLater()の第一引数に渡された関数は、QMLエンジンがイベントループに戻った後に呼び出されます。

この関数が同じ関数を第一引数として複数回連続して呼び出された場合、その関数は一度だけ呼び出されます。

例えば

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.callLater() に渡された追加の引数は、呼び出された関数に渡されます。冗長な呼び出しが排除された場合、引数の最後のセットだけが関数に渡されることに注意してください。

color color(string name)

与えられたname に対応する色(すなわち赤または #ff0000)を返します。そのような色がない場合は、null が返されます。

color colorEqual(color lhs, string rhs)

lhsrhs の両方が等しい色値を返す場合、true を返す。両方の引数は、色値または文字列値のいずれかである。文字列値が与えられた場合、color 値型について説明されているように、それは色に変換可能でなければならない。

Component createComponent(url url, enumeration mode, QtObject parent)

指定されたurl にある QML ファイルを使用して作成されたComponent オブジェクト、 または空の文字列が指定された場合はnull を返します。

返されたコンポーネントのComponent::status プロパティは、コンポーネントが正常に作成されたかどうかを示します。ステータスがComponent.Error の場合、エラーの説明はComponent::errorString() を参照。

オプションのパラメータmodeComponent.Asynchronous に設定されている場合、コンポーネントはバックグラウンド・スレッドでロードされます。ロード中は、Component::status プロパティはComponent.Loading になります。コンポーネントのロードに成功した場合はステータスがComponent.Ready に変わり、ロードに失敗した場合はComponent.Error に変わります。このパラメータを省略した場合のデフォルトはComponent.PreferSynchronous である。

modeComponent.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で導入されました。

object createQmlObject(string qml, object 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 というプロパティがあり、これは発生したエラーの配列です。この配列の各オブジェクトはlineNumbercolumnNumberfileNamemessage というメンバーを持っています。例えば、上記のスニペットでcolorのスペルを'colro'と間違えていた場合、配列には以下のようなオブジェクトが含まれる:{ "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Cannot assign to non-existent property "colro""}。

注意: この関数は即座に返されるため、qml の文字列が新しいコンポーネント(つまり、まだロードされていない外部QMLファイル)をロードしている場合、動作しない可能性があります。このような場合は、代わりにQt.createComponent() を使用してください。

警告 この関数は呼び出されるたびに渡された QML 文字列をコンパイルしなければならないため、非常に時間がかかります。さらに、プログラム的に QML コードを構築する場合、無効な QML を生成するのは非常に簡単です。文字列操作によって新たなコンポーネントを生成するよりも、QMLコンポーネントを別個のファイルとして保持し、プロパティやメソッドを追加して動作をカスタマイズする方がずっとよいでしょう。

この関数の使い方については、JavaScriptからの動的なQMLオブジェクト生成を参照してください。

color darker(color baseColor, real factor)

baseColor より暗い色を、指定されたfactor で返します。

factor が 1.0 より大きい場合、この関数はより暗い色を返します。factorを3.0に設定すると、3分の1の明るさの色を返します。factorが1.0より小さい場合、返される色は明るくなりますが、この目的にはQt.lighter()関数を使用することをお勧めします。係数が 0 または負の場合、戻り値は指定されません。

この関数は、現在の RGB カラーを HSV に変換し、値(V)成分を factor で割って RGB に戻します。

factor が与えられない場合、baseColor (係数 2.0)より 50% 暗い色を返します。

real enumStringToValue(enumType, keyName)

enumenumType のキーkeyName の数値を返す。列挙型が見つからない場合、TypeError がスローされます。キーが列挙型のエントリでない場合、ReferenceError がスローされます。

string enumValueToString(enumType, keyValue)

keyValue を持つ enumenumType のキーの文字列表現を返す。列挙型が見つからない場合は、TypeError がスローされます。値が列挙型のどのキーにもマッチしない場合、ReferenceError がスローされる。

注意: 複数のキーがkeyValue の値にマッチする場合、どのマッチするキーが返されるかは指定されていない。その場合はenumValueToStrings

list<string> enumValueToStrings(enumType, keyValue)

enumenumType のうち、値keyValue を持つすべてのキーの文字列表現のリストを返す。enum が見つからなかった場合、TypeError がスローされる。enumに値keyValue を持つキーがない場合、ReferenceError がスローされる。

void exit(int retCode)

この関数はQQmlEngine::exit(int) シグナルを発生させる。qmlツール内では、これによりランチャー・アプリケーションは指定されたリターン・コード(retCode)で終了します。このメソッドが呼び出されたときに指定されたリターン・コードでイベント・ループから抜けるには、C++アプリケーションはQQmlEngine::exit(int) シグナルをQCoreApplication::exit(int) スロットに接続します。

quit()も参照して ください。

font font(object 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)

formatlocaleFormatOption を使ってフォーマットされたdateTime の文字列表現を返します。

dateTime パラメータには、JavaScript のDate オブジェクト、date プロパティ、QDateQTimeQDateTime の値を指定することができます。

format が与えられない場合、dateTime はデフォルトのロケールを用いてLocale.ShortFormat でフォーマットされます。そうでない場合は、format のいずれかを指定する:

  • Qt.RFC2822DateQt.ISODate など、Qt::DateFormat の列挙値のいずれか。
  • 返される文字列の書式を指定する文字列。
  • 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二桁の年 (00-99)
yyyy四桁の数字による年

さらに、以下の式を使用して時刻を指定することができます:

出力
h先頭のゼロを除いた時間(AM/PM表示の場合は0~23または1~12)
hhゼロを先頭に持つ時(AM/PM表示の場合は00~23または01~12)
m分(先頭ゼロなし)(0~59
mmゼロを先頭に持つ分(00~59)
sゼロを先頭に持たない秒(0~59)
ssゼロを先頭に持つ秒(00~59)
z先頭ゼロなしのミリ秒(0~999)
zzz先頭がゼロのミリ秒(000~999)
APAM/PM表示を使用。APは"AM "または "PM "に置き換えられる。
APapは"am "または "pm "に置き換えられる。
tタイムゾーン表示を含む。

その他の入力文字は無視される。一重引用符で囲まれた文字列はテキストとして扱われ、式としては使用されない。連続する2つの一重引用符("'")は、出力では一重引用符に置き換えられる。

例えば、次のような日時値が指定されたとする:

// 21 May 2001 14:13:09
var dateTime = new Date(2001, 5, 21, 14, 13, 09)

このdateTime の値を、Qt.formatDateTime()Qt.formatDate ()またはQt.formatTime ()に、以下のformat の値とともに渡すと、以下のような結果が得られる:

フォーマット結果
"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 値である。formatlocaleFormatOption パラメータは、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 hsva(real hue, real saturation, real value, real alpha)

指定されたhue,saturation,value およびalpha 成分を持つ色を返します。すべてのコンポーネントは 0 から 1 の範囲でなければなりません (含めます)。

bool isQtObject(object)

object が Qt または QML オブジェクトへの有効な参照であればtrue を、そうでなければfalse を返します。

color lighter(color baseColor, real factor)

baseColor より明るい色を、指定されたfactor で返します。

factor が 1.0 より大きい場合、この関数はより明るい色を返します。factorを1.5に設定すると、50%明るい色を返します。factorが1.0より小さい場合は暗い色を返しますが、この場合はQt.darker()関数を使用することをお勧めします。係数が 0 または負の場合、戻り値は指定されません。

この関数は、現在の RGB カラーを HSV に変換し、値(V)成分に係数を掛けて、色を RGB に戻します。

factor が与えられない場合、baseColor (係数 1.5)より 50% 明るい色を返します。

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()

4x4 の単位行列を返します。

matrix4x4 matrix4x4(var values)

指定されたvalues を持つ 4x4 行列を返します。values は、16 個のエントリを持つ JavaScript の配列であることが期待されます。

配列の添字は,以下のように行列の位置に対応する.

0123
4567
891011
12131415

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)

指定された値を持つ 4x4 行列を返します。

引数は、行列内の位置に対応します:

m11m12m13m14
m21m22m23m24
m31m32m33m34
m41m42m43m44

bool openUrlExternally(url target)

ユーザーのデスクトップ設定に基づき、指定されたtarget urlを外部アプリケーションで開こうとする。成功した場合はtrue を返し、失敗した場合はfalse を返す。

警告 戻り値true は、外部アプリケーションで URL を開くよう、アプリケーションがオペレーティングシステムに要求することに成功したことを示す。外部アプリケーションはまだ起動に失敗したり、要求された URL を開くことができないかもしれない。この結果はアプリケーションには報告されない。

point point(real x, real y)

指定したxy 座標を持つ点を返す。

string qsTr(string sourceText, string disambiguation, int n)

disambiguation sourceText の文字列と、複数形を含む文字列のための の値に基づいて、 の翻訳バージョンを返す。n sourceText

sourceTextn を使った例:

    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 のために追加の識別文字列が渡されることがあります。詳細と例については、Disambiguate Identical Textを参照してください。

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() やInternationalization with Qtも参照してください

string qsTranslate(string context, string sourceText, string disambiguation, int n)

指定されたcontext 内のsourceText の翻訳版を返す。オプションとして、disambiguation 文字列と、複数形を含む文字列のためのn の値に基づく。そうでない場合は、適切な翻訳文字列がない場合、sourceText 自身を返す。

同じsourceText が同じ翻訳context 内で異なる役割で使用される場合、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() シグナルを発生させる。このメソッドが呼ばれたときにC++アプリケーションを終了するには、QQmlEngine::quit() シグナルをQCoreApplication::quit() スロットに接続します。

exit()も参照

rect rect(real x, real y, real width, real height)

左上隅がx,y に位置 し 、 指定 し たwidthheight に位置す る 矩形を返 し ます。

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 の範囲でなければなりません (含めます)。

size size(real width, real height)

指定されたwidthheight を持つサイズを返す。

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")
    }
}

ライト・スチール・ブルーの正方形と、着色を施したライト・スチール・ブルーの正方形を並べて示す。

色合いは、何らかの出来事による微妙な変化を伝えようとする場合に最も有効です。

url url(url url)

url をそのまま返す。urlQt.resolvedUrl() とは対照的に、この関数は相対 URL を保持します。文字列は暗黙のうちに URL に変換されるので、この関数は文字列を引数として呼び出すことができます。

resolvedUrl()も参照してください

vector2d vector2d(real x, real y)

指定されたxy の値を持つ 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.