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)
  • string atob(data)
  • binding(function)
  • string btoa(data)
  • callLater(function)
  • 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, string filepath)
  • color darker(color baseColor, real factor)
  • 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(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)
  • 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")
}

Enums

Qt 객체는 Qt Namespace 에서 사용 가능한 열거형을 포함합니다. 예를 들어 Qt::LeftButtonQt::RightButton 열거형 값은 Qt.LeftButtonQt.RightButton 로 액세스할 수 있습니다.

유형

Qt 객체에는 특정 데이터 타입의 객체를 생성하기 위한 도우미 함수도 포함되어 있습니다. 이는 주로 항목의 속성에 다음 유형 중 하나가 있을 때 항목의 속성을 설정할 때 유용합니다:

QtQuick 모듈을 가져온 경우 특정 데이터 유형의 객체를 만들기 위한 다음 헬퍼 함수도 클라이언트에서 사용할 수 있습니다:

날짜/시간 포맷터

Qt 객체에는 QDateTime, QDateQTime 값의 포맷을 지정하는 여러 함수가 포함되어 있습니다.

포맷 사양은 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.state
  • application.layoutDirection
  • application.font

inputMethod : InputMethod

InputMethod 싱글톤과 동일합니다.

inputMethod 객체는 애플리케이션의 QInputMethod 객체와 모든 속성 및 슬롯에 대한 액세스를 허용합니다. 자세한 내용은 QInputMethod 문서를 참조하세요.


platform : object

platform 객체는 기본 플랫폼에 대한 정보를 제공합니다.

속성은 다음과 같습니다:

platform.os이 읽기 전용 속성에는 운영 체제의 이름이 포함됩니다.

가능한 값은 다음과 같습니다:

  • "android" - Android
  • "ios" - iOS
  • "tvos" - tvOS
  • "visionos" - visionOS
  • "linux" - Linux
  • "osx" - macOS
  • "qnx" - QNX(Qt 5.9.3 이후)
  • "unix" - 기타 Unix 기반 OS
  • "windows" - Windows
  • "wasm" - WebAssembly

참고: macOS의 속성 값은 Apple 명명 규칙에 관계없이 "osx"입니다. 반환된 값은 Qt 7의 경우 "macos"로 업데이트됩니다.

platform.pluginNameQGuiApplication::platformName()에서 반환된 QGuiApplication 인스턴스에 설정된 플랫폼의 이름입니다.

styleHints : object

styleHints 객체는 플랫폼별 스타일 힌트 및 설정을 제공합니다. 자세한 내용은 QStyleHints 문서를 참조하세요.

대신 Application::styleHints 을 통해 스타일 힌트에 액세스해야 하며, 이는 다음과 같은 툴링에 더 나은 유형 정보를 제공하므로 Qt Quick Compiler.

참고: styleHints 객체는 Qt Quick 모듈을 사용할 때만 사용할 수 있습니다.


uiLanguage : string

uiLanguage에는 사용자 인터페이스 문자열 번역에 사용할 언어의 이름이 저장됩니다. C++에서는 QQmlEngine::uiLanguage 프로퍼티로 노출됩니다.

값을 자유롭게 설정하여 바인딩에 사용할 수 있습니다. 애플리케이션에 번역기를 설치한 후에 설정하는 것이 좋습니다. 일반적으로 빈 문자열은 소스 코드에 사용된 언어에서 번역이 수행되지 않음을 의미합니다.

QQmlApplicationEngine 을 사용 중이고 값이 변경되면 QQmlEngine::retranslate()이 호출됩니다.


메서드 문서

callLater(function)

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

이 함수를 사용하면 함수나 신호에 대한 중복 호출을 제거할 수 있습니다.

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

callLater()에 전달된 모든 추가 인수는 호출된 함수에 전달됩니다. 중복 호출이 제거되면 마지막 인수 집합만 함수에 전달된다는 점에 유의하세요.


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()로 남겨둡니다.

예제:

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

    Text { text: qsTrId(greetingId) }
}

qsTrId() 및 Qt XML을 사용한 국제화를참조하십시오 .


string QT_TR_NOOP(string sourceText, string disambiguation)

동적 번역을 위해 sourceText 을 표시합니다. 즉, 저장된 sourceText 은 변경되지 않습니다.

동일한 번역 컨텍스트 내에서 동일한 sourceText 이 다른 역할에 사용되는 경우 disambiguation 에 대한 추가 식별 문자열이 전달될 수 있습니다.

sourceText 을 반환합니다.

QT_TR_NOOP은 동적 번역 함수 qsTr() 및 qsTranslate()와 함께 사용됩니다. 이 함수는 문자열을 번역이 필요한 것으로 식별하지만( 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(완전 불투명)까지의 범위의 실수입니다.


string atob(data)

ASCII를 바이너리로 - 이 함수는 base64로 인코딩된 data 문자열을 디코딩하여 반환합니다.


binding(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
    }
}

string btoa(data)

바이너리를 ASCII로 - 이 함수는 data 의 base64 인코딩을 반환합니다.


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 또는 빈 문자열이 제공된 경우 null 에서 QML 파일을 사용하여 만든 Component 객체를 반환합니다.

반환된 컴포넌트의 Component::status 속성은 컴포넌트가 성공적으로 생성되었는지 여부를 나타냅니다. 상태가 Component.Error 인 경우 오류 설명은 Component::errorString()를 참조하세요.

선택적 mode 매개변수가 Component.Asynchronous 으로 설정된 경우 컴포넌트는 백그라운드 스레드에서 로드됩니다. Component::status 속성은 로드되는 동안 Component.Loading 이 됩니다. 컴포넌트가 성공적으로 로드되면 상태는 Component.Ready, 로드에 실패하면 Component.Error 으로 변경됩니다. 이 매개 변수를 생략하면 기본값은 Component.PreferSynchronous 입니다.

modeComponent.PreferSynchronous 으로 설정되어 있으면 Qt는 컴포넌트를 동기적으로 로드하려고 시도하지만, 필요한 경우 비동기적으로 로드할 수도 있습니다. 비동기 로드를 유발할 수 있는 시나리오에는 다음이 포함되지만 이에 국한되지는 않습니다:

  • URL이 네트워크 리소스를 참조하는 경우
  • 비동기적으로 로드되는 다른 컴포넌트의 결과로 컴포넌트가 생성되는 경우

선택 사항인 parent 매개변수가 지정된 경우, 생성된 Component 객체의 부모가 될 객체를 참조해야 합니다. 전달된 모드가 없는 경우 두 번째 인수가 될 수 있습니다.

반환된 컴포넌트에서 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()
}

이 함수 사용에 대한 자세한 내용은 자바스크립트에서 동적 QML 객체 생성을 참조하세요.

파일 대신 임의의 QML 문자열에서 QML 객체를 만들려면 Qt.createQmlObject()를 사용합니다.


[since 6.5] Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent)

이 함수는 오버로드된 함수입니다.

moduleUritypeName 에 지정된 유형에 대해 생성된 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 객체의 부모가 될 객체를 참조해야 합니다. 전달된 모드가 없으면 두 번째 인수가 될 수 있습니다.

이 메서드는 Qt 6.5에 도입되었습니다.


object createQmlObject(string qml, object parent, string filepath)

지정된 qml 문자열에서 생성된 새 객체를 반환하며, 지정된 parent, 또는 객체 생성에 오류가 있는 경우 null 을 갖습니다.

filepath 을 지정하면 생성된 객체에 대한 오류 보고에 사용됩니다.

예(여기서 parentItem 은 기존 QML 항목의 ID):

const newObject = Qt.createQmlObject(`
    import QtQuick

    Rectangle {
        color: "red"
        width: 20
        height: 20
    }
    `,
    parentItem,
    "myDynamicSnippet"
);

오류가 발생하면 QQmlError 개체가 던져집니다. 이 개체에는 발생한 오류의 배열인 qmlErrors 이라는 추가 속성이 있습니다. 이 배열의 각 객체에는 lineNumber, columnNumber, fileNamemessage 이라는 멤버가 있습니다. 예를 들어 위 코드조각에서 색상의 철자가 'colro'로 잘못 입력된 경우 배열에는 다음과 같은 객체가 포함됩니다: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "존재하지 않는 속성 'colro'에 할당할 수 없습니다."}.

참고: 이 함수는 즉시 반환되므로 qml 문자열이 새 컴포넌트(즉, 아직 로드되지 않은 외부 QML 파일)를 로드하는 경우 작동하지 않을 수 있습니다. 이 경우 Qt.createComponent()를 대신 사용하는 것이 좋습니다.

경고: 이 함수는 호출될 때마다 전달된 QML 문자열을 컴파일해야 하므로 매우 느립니다. 또한 프로그래밍 방식으로 QML 코드를 구성할 때 잘못된 QML을 생성하기 쉽습니다. 문자열 조작으로 새 컴포넌트를 생성하는 것보다 QML 컴포넌트를 별도의 파일로 보관하고 속성 및 메서드를 추가하여 동작을 사용자 지정하는 것이 훨씬 낫습니다.

이 함수 사용에 대한 자세한 내용은 자바스크립트에서 동적 QML 객체 생성을 참조하세요.


color darker(color baseColor, real factor)

baseColor 제공된 factor 보다 어두운 색을 반환합니다.

계수가 1.0보다 크면 이 함수는 더 어두운 색을 반환합니다. 계수를 3.0으로 설정하면 밝기가 1/3인 색상이 반환됩니다. 계수가 1.0보다 작으면 반환되는 색이 더 밝아지지만, 이 경우 Qt.lighter() 함수를 사용하는 것이 좋습니다. 계수가 0이거나 음수이면 반환값이 지정되지 않습니다.

이 함수는 현재 RGB 색상을 HSV로 변환하고, 값(V) 성분을 계수로 나눈 다음 색상을 다시 RGB로 변환합니다.

factor 을 지정하지 않으면 baseColor 보다 50% 더 어두운 색(계수 2.0)을 반환합니다.


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)

선택적으로 format 을 사용하여 서식이 지정된 date 의 문자열 표현을 반환합니다.

date 매개변수는 JavaScript Date 객체, date 속성, QDate, 또는 QDateTime 값일 수 있습니다. formatlocaleFormatOption 매개 변수는 Qt.formatDateTime()에 설명된 대로 가능한 형식 값 중 하나 일 수 있습니다.

format 을 지정하지 않으면 date 은 기본 로캘을 사용하여 Locale.ShortFormat 을 사용하여 형식이 지정됩니다.

Locale참조하세요 .


string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)

선택적으로 formatlocaleFormatOption 를 사용하여 포맷된 dateTime 의 문자열 표현을 반환합니다.

dateTime 매개변수는 JavaScript Date 객체, date 속성, QDate, QTime 또는 QDateTime 값일 수 있습니다.

format 을 제공하지 않으면 dateTime 은 기본 로캘을 사용하여 Locale.ShortFormat 을 사용하여 형식이 지정됩니다. 그렇지 않으면 format 중 하나를 사용해야 합니다:

  • Qt.RFC2822Date 또는 Qt.ISODate 와 같은 Qt::DateFormat 열거 값 중 하나입니다.
  • 아래 설명된 대로 반환되는 문자열의 형식을 지정하는 문자열입니다.
  • locale 객체.

format 이 로캘 객체를 지정하는 경우, dateTime은 QLocale::toString 으로 형식이 지정됩니다. 이 경우 localeFormatOptionQLocale::FormatType 유형의 값을 보유하여 서식을 추가로 조정할 수 있습니다. 아무것도 제공되지 않으면 Locale.ShortFormat 이 사용됩니다.

format 에서 형식 문자열을 지정하는 경우 다음 표현식을 사용하여 날짜를 지정해야 합니다:

표현식출력
d선행 0이 없는 숫자로 날짜(1~31)
dd선행 0이 있는 숫자(01~31)로 요일 표시
ddd축약된 현지화된 요일 이름(예: '월'에서 '일'로). QDate::shortDayName()을 사용합니다.
dddd긴 현지화된 날짜 이름(예: '월요일'을 'Qt::Sunday')으로 바꿉니다. QDate::longDayName()을 사용합니다.
M선행 0이 없는 숫자(1-12)로서의 월입니다.
MM선행 0이 포함된 숫자(01-12)로서의 월
MMM축약된 현지화된 월 이름(예: 'Jan' ~ 'Dec'). QDate::shortMonthName()을 사용합니다.
MMMM현지화된 긴 월 이름(예: '1월'에서 '12월'로). QDate::longMonthName()을 사용합니다.
yy두 자리 숫자(00-99)로서의 연도입니다.
yyyy연도를 네 자리 숫자로 표시

또한 다음 표현식을 사용하여 시간을 지정할 수 있습니다:

표현식출력
h선행 0이 없는 시간(오전/오후 표시의 경우 0~23 또는 1~12)
hh선행 0이 있는 시(AM/PM 표시의 경우 00~23 또는 01~12)
m선행 0이 없는 분(0~59)
mm선행 0이 있는 분(00~59)
s선행 0이 없는 초(0~59)
ss선행 0이 있는 초(00~59)
z선행 0이 없는 밀리초(0~999)
zzz선행 0이 포함된 밀리초(000~999)
APAM/PM 표시를 사용합니다. AP는 "AM" 또는 "PM"으로 대체됩니다.
ap오전/오후 표시를 사용합니다. AP는 "오전" 또는 "오후"로 대체됩니다.
t시간대 표시기를 포함합니다.

다른 모든 입력 문자는 무시됩니다. 작은따옴표로 묶인 모든 문자 시퀀스는 텍스트로 취급되며 표현식으로 사용되지 않습니다. 연속된 작은따옴표("''") 두 개는 출력에서 작은따옴표 하나로 대체됩니다.

예를 들어 다음과 같은 날짜/시간 값을 지정한 경우입니다:

// 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"Tue May 21 01
"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, valuealpha 컴포넌트가 포함된 색상을 반환합니다. 모든 구성 요소는 0-1(포함) 범위에 있어야 합니다.


bool isQtObject(object)

object 이 Qt 또는 QML 객체에 대한 유효한 참조인 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.


color lighter(color baseColor, real factor)

제공된 factor 보다 밝은 색을 baseColor 보다 밝은 색을 반환합니다.

계수가 1.0보다 크면 이 함수는 더 밝은 색을 반환합니다. 계수를 1.5로 설정하면 50% 더 밝은 색을 반환합니다. 계수가 1.0보다 작으면 반환 색상이 더 어두워지지만, 이 경우 Qt.darker() 함수를 사용하는 것이 좋습니다. 계수가 0이거나 음수이면 반환값이 지정되지 않습니다.

이 함수는 현재 RGB 색상을 HSV로 변환하고, 값(V) 성분에 계수를 곱한 다음 색상을 다시 RGB로 변환합니다.

factor 을 제공하지 않으면 baseColor 보다 50% 밝은 색(계수 1.5)을 반환합니다.


locale(name)

지정된 name 로 로캘을 나타내는 JS 객체를 반환하며, 형식은 "language[_territory][.codeset][@modifier]" 또는 "C"입니다:

  • language 는 소문자 두 글자로 된 ISO 639 언어 코드입니다,
  • territory 는 대문자, 두 글자, ISO 3166 국가 코드, 그리고
  • codesetmodifier 은 무시됩니다.

문자열이 로캘 형식을 위반하거나 언어가 유효한 ISO 369 코드가 아닌 경우 "C" 로캘이 대신 사용됩니다. 국가가 없거나 유효한 ISO 3166 코드가 아닌 경우 지정된 언어에 가장 적합한 국가가 선택됩니다.

Locale참조하세요 .


string md5(data)

data 의 md5 해시의 16진수 문자열을 반환합니다.


matrix4x4 matrix4x4()

신원 행렬 4x4를 반환합니다.


matrix4x4 matrix4x4(var values)

지정된 values. 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)

sourceText 의 번역된 버전을 반환하며, 선택적으로 disambiguation 문자열과 복수가 포함된 문자열의 경우 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 에 대한 추가 식별 문자열이 전달될 수 있습니다. 자세한 내용과 예제는 동일 텍스트 모호성 해제를 참조하세요.

qsTranslate(), Qt를 사용한 국제화번역을 위한 소스 코드 작성도참조하세요 .


string qsTrId(string id, int n)

id 로 식별되는 번역된 문자열을 반환합니다. 일치하는 문자열을 찾지 못하면 ID 자체가 반환됩니다. 정상적인 조건에서는 이런 일이 발생하지 않아야 합니다.

n >= 0이면 결과 문자열에서 %n 의 모든 항목이 n 의 십진수 표현으로 대체됩니다. 또한 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 XML을 사용한 국제화를참조하세요 .


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 XML을 사용한 국제화qsTr()도 참조하세요 .


quaternion quaternion(real scalar, real x, real y, real z)

지정된 scalar, x, y, z 값을 가진 쿼터니언을 반환합니다.


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 을 그대로 반환합니다. 이 함수는 url 로 타입 강제 변환하는 데 사용할 수 있습니다.resolvedUrl()와 달리 상대 URL을 유지합니다. 문자열은 암시적으로 URL로 변환되므로 문자열을 인수로 사용하여 함수를 호출한 다음 URL을 반환할 수 있습니다.

resolvedUrl()도 참조하세요 .


vector2d vector2d(real x, real y)

지정된 xy 값이 포함된 벡터2d를 반환합니다.


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 값과 함께 벡터4d를 반환합니다.


© 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.