Spec-Zone.ru › Qt 5.14

Тип QML Qt

Предоставляет глобальный объект с полезными перечислениями и функциями из Qt. Подробнее...

Заявление об импорте: import QtQml 2.14
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Свойства

  • application : object
  • inputMethod : object
  • platform : object
  • styleHints : object

Методы

  • строка atob(данные)
  • binding(функция)
  • строка btoa(данные)
  • callLater(функция, аргумент1, аргумент2, ...)
  • callLater(функция)
  • цвет colorEqual(lhs, строка rhs)
  • объект createComponent(url, режим, родитель)
  • объект createQmlObject(qml, объект родитель, строка путь_к_файлу)
  • цвет darker(базовыйЦвет, вещественное фактор)
  • exit(кодВозврата)
  • шрифт font(спецификатор_шрифта)
  • список<строка> fontFamilies()
  • строка formatDate(дата, вариант формат)
  • строка formatDateTime(дата_и_время, вариант формат)
  • строка formatTime(время, вариант формат)
  • цвет hsla(оттенок, вещественное насыщенность, вещественное светлота, вещественное альфа)
  • цвет hsva(оттенок, вещественное насыщенность, вещественное значение, вещественное альфа)
  • логическое isQtObject(объект)
  • цвет lighter(базовыйЦвет, вещественное фактор)
  • locale(имя)
  • строка md5(данные)
  • матрица4x4 matrix4x4(m11, вещественное m12, вещественное m13, вещественное m14, вещественное m21, вещественное m22, вещественное m23, вещественное m24, вещественное m31, вещественное m32, вещественное m33, вещественное m34, вещественное m41, вещественное m42, вещественное m43, вещественное m44)
  • логическое openUrlExternally(цель)
  • точка point(x, целое y)
  • строка qsTr(исходныйТекст, строка дискриминация, целое n)
  • строка qsTrId(id, целое n)
  • строка qsTrIdNoOp(id)
  • строка qsTrNoOp(исходныйТекст, строка дискриминация)
  • строка qsTranslate(контекст, строка исходныйТекст, строка дискриминация, целое n)
  • строка qsTranslateNoOp(контекст, строка исходныйТекст, строка дискриминация)
  • кватернион quaternion(скаляр, вещественное x, вещественное y, вещественное z)
  • quit()
  • прямоугольник rect(x, целое y, целое ширина, целое высота)
  • url resolvedUrl(url)
  • цвет rgba(красный, вещественное зелёный, вещественное синий, вещественное альфа)
  • размер size(ширина, целое высота)
  • цвет tint(базовыйЦвет, цвет цвет_тона)
  • вектор2d vector2d(x, вещественное y)
  • вектор3d vector3d(x, вещественное y, вещественное z)
  • вектор4d vector4d(x, вещественное y, вещественное z, вещественное w)

Подробное описание

Объект Qt — это глобальный объект с вспомогательными функциями, свойствами и перечислениями.

Он не может быть экземпляризован; для использования вызовите члены глобального объекта Qt напрямую. Например:

import QtQuick 2.0

Text {
    color: Qt.rgba(1, 0, 0, 1)
    text: Qt.md5("hello, world")
}

Перечисления

Объект Qt содержит перечисления, доступные в пространстве имен Qt. Например, вы можете получить доступ к значениям перечислений Qt::LeftButton и Qt::RightButton как Qt.LeftButton и Qt.RightButton.

Типы

Объект Qt также содержит вспомогательные функции для создания объектов определённых типов данных. Это преимущественно полезно при установке свойств элемента, когда свойство имеет один из следующих типов:

  • rect — используйте Qt.rect()
  • point — используйте Qt.point()
  • size — используйте Qt.size()

Если модуль 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()

Также существуют строковые конструкторы для этих типов. См. QML Основные типы для получения дополнительной информации.

Форматирование дат/времени

Объект Qt содержит несколько функций для форматирования значений QDateTime, QDate и QTime.

  • строка Qt.formatDateTime(дата_и_время, вариант формат)
  • строка Qt.formatDate(дата, вариант формат)
  • строка Qt.formatTime(время, вариант формат)

Спецификация формата описана в Qt.formatDateTime.

Динамическое создание объектов

Следующие функции глобального объекта позволяют динамически создавать QML элементы из файлов или строк. Смотрите Динамическое создание QML объектов из JavaScript для обзора их использования.

  • объект Qt.createComponent(url)
  • объект Qt.createQmlObject(строка qml, объект родитель, строка путь_к_файлу)

Другие функции

Следующие функции также доступны в объекте Qt.

  • Qt.quit()
  • Qt.md5(строка)
  • строка Qt.btoa(строка)
  • строка Qt.atob(строка)
  • объект Qt.binding(функция)
  • объект Qt.locale()
  • строка Qt.resolvedUrl(строка)
  • Qt.openUrlExternally(строка)
  • список<строка> Qt.fontFamilies()

Документация по свойствам

application : объект

Объект application предоставляет доступ к свойствам глобального состояния приложения, которые используются многими QML компонентами.

Его свойства:

application.active Устарело, используйте Qt.application.state == Qt.ApplicationActive вместо этого.
application.state Это свойство только для чтения, которое указывает текущее состояние приложения.

Возможные значения:

  • Qt.ApplicationActive - Приложение является верхним и фокусированным приложением, и пользователь может взаимодействовать с приложением.
  • Qt.ApplicationInactive - Приложение отображается или частично отображается, но не выбрано для отображения впереди, пользователь не может взаимодействовать с приложением. В настольных платформах это обычно означает, что пользователь активировал другое приложение. В мобильных платформах этот статус чаще возникает, когда ОС прерывает пользователя, например, входящими вызовами, SMS-сообщениями или диалогами. Это обычно временное состояние, во время которого приложение приостанавливается. Пользователь может вернуть фокус вашему приложению, но чаще всего это первый признак, что приложение будет приостановлено. В этом состоянии рассмотрите приостановку или остановку любой активности, которая не должна продолжаться, когда пользователь не может взаимодействовать с вашим приложением, например, видео, игры, анимации или датчики. Также следует избегать выполнения задач, интенсивных с точки зрения ЦП, которые могут замедлить работу приложения, находящегося в фокусе.
  • Qt.ApplicationSuspended - Приложение приостановлено и не отображается пользователю. В мобильных платформах приложение обычно переходит в это состояние, когда пользователь возвращается на главный экран или переключается на другое приложение. В этом состоянии приложение должно обеспечить, чтобы пользователь воспринимал его как всегда активное и не терял свой прогресс, сохраняя любые постоянные данные. Приложение должно прекратить все действия и быть готовым к остановке выполнения кода. В состоянии приостановки приложение может быть завершено в любое время без дополнительных предупреждений (например, при низкой памяти, когда ОС вынуждена очистить приостановленные приложения).
  • Qt.ApplicationHidden - Приложение скрыто и работает в фоновом режиме. Это обычное состояние для приложений, которым необходимо выполнять фоновую обработку, например, воспроизведение музыки, в то время как пользователь взаимодействует с другими приложениями. При входе в это состояние приложение должно освободить все графические ресурсы. Приложение Qt Quick обычно не должно обрабатывать это состояние на уровне QML. Вместо этого вы должны загрузить весь пользовательский интерфейс и перезагрузить файлы QML всякий раз, когда приложение снова становится активным.
application.layoutDirection Это свойство только для чтения, которое может быть использовано для запроса направления отображения по умолчанию приложения. При запуске системы направление отображения по умолчанию зависит от языка приложения. Свойство имеет значение Qt.RightToLeft в языковых окружениях, где текст и графические элементы читаются справа налево, и Qt.LeftToRight там, где направление чтения слева направо. Вы можете привязать к этому свойству, чтобы настроить макеты вашего приложения для поддержки обоих направлений отображения.

Возможные значения:

  • Qt.LeftToRight - Текстовые и графические элементы должны размещаться слева направо.
  • Qt.RightToLeft - Текстовые и графические элементы должны размещаться справа налево.
application.font Это свойство только для чтения, содержащее шрифт по умолчанию для приложения, возвращаемый функцией QGuiApplication::font().
application.arguments Это список строк аргументов, с которыми был вызван исполняемый файл.
application.name Это имя приложения, заданное для экземпляра QCoreApplication. Это свойство можно записать, чтобы установить имя приложения.
application.displayName (с Qt 5.9) Это отображаемое имя приложения, заданное для экземпляра QGuiApplication. Это свойство можно записать, чтобы установить отображаемое имя приложения.
application.version Это версия приложения, заданная для экземпляра QCoreApplication. Это свойство можно записать, чтобы установить версию приложения.
application.organization Это имя организации, заданное для экземпляра QCoreApplication. Это свойство можно записать, чтобы установить имя организации.
application.domain Это домен организации, заданный для экземпляра QCoreApplication. Это свойство можно записать, чтобы установить домен организации.
application.supportsMultipleWindows Это свойство только для чтения, которое можно использовать для определения поддержки платформой нескольких окон. Некоторые встроенные платформы не поддерживают несколько окон, например.
application.screens Массив, содержащий описания всех подключенных экранов. Элементы массива — объекты с теми же свойствами, что и присоединённый объект Screen. На практике массив соответствует списку экранов, возвращаемому функцией QGuiApplication::screens(). Помимо проверки свойств, таких как имя, ширина, высота и т. д., элементы массива также могут быть назначены свойству screen элементов Window, тем самым служа альтернативой функции QWindow::setScreen() со стороны C++. Это свойство добавлено в Qt 5.9.

Объект также имеет один сигнал, aboutToQuit(), который идентичен QCoreApplication::aboutToQuit().

Следующий пример использует объект application для указания, активно ли приложение в данный момент:

import QtQuick 2.0

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

Обратите внимание, что при использовании QML без QGuiApplication, следующие свойства будут неопределёнными:

  • application.active
  • application.state
  • application.layoutDirection
  • application.font

Это свойство было добавлено в Qt 5.1.

См. также Screen, Window и Window.screen.

inputMethod : object

Объект inputMethod позволяет получить доступ к объекту QInputMethod приложения и всем его свойствам и слотам. Для получения дополнительной информации см. документацию по QInputMethod.

Это свойство было добавлено в Qt 5.0.

platform : object

Объект platform предоставляет информацию об основной платформе.

Его свойства:

platform.os Это свойство только для чтения, содержащее имя операционной системы.

Возможные значения:

  • "android" - Android
  • "ios" - iOS
  • "tvos" - tvOS
  • "linux" - Linux
  • "osx" - macOS
  • "qnx" - QNX (с Qt 5.9.3)
  • "unix" - Другая Unix-подобная ОС
  • "windows" - Windows
  • "winrt" - WinRT / UWP
platform.pluginName Это имя платформы, заданное для экземпляра QGuiApplication, возвращаемое функцией QGuiApplication::platformName().

Это свойство было добавлено в Qt 5.1.

styleHints : object

Объект styleHints предоставляет платформозависимые подсказки и настройки стиля. Для получения дополнительной информации см. документацию по QStyleHints.

Примечание: Объект styleHints доступен только при использовании модуля Qt Quick.

Следующий пример использует объект styleHints для определения, должен ли элемент получить фокус при нажатии мышью или отпускании сенсорной панели:

import QtQuick 2.4

MouseArea {
    id: button

    onPressed: {
        if (!Qt.styleHints.setFocusOnTouchRelease)
            button.forceActiveFocus()
    }
    onReleased: {
        if (Qt.styleHints.setFocusOnTouchRelease)
            button.forceActiveFocus()
    }
}

Это свойство было добавлено в Qt 5.5.

Документация по методам

callLater(function)

Используйте эту функцию для устранения дублирования вызовов функции или сигнала.

Функция, переданная в качестве первого аргумента Qt.callLater(), будет вызвана позже, как только движок QML вернётся в цикл обработки событий.

Когда эта функция вызывается несколько раз подряд с той же функцией в качестве первого аргумента, эта функция будет вызвана только один раз.

Например:

import QtQuick 2.0

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(), будут переданы вызываемой функции. Обратите внимание, что если дублирующиеся вызовы исключены, то только последний набор аргументов будет передан функции.

Эта документация была добавлена в Qt 5.8.

string atob(data)

ASCII в двоичный — эта функция декодирует строку data, закодированную в base64, и возвращает её.

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 2.0

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

Этот метод был добавлен в Qt 5.0.

string btoa(data)

Двоичный в ASCII — эта функция возвращает кодировку data в base64.

color colorEqual(lhs, string rhs)

Возвращает true если оба lhs и rhs возвращают одинаковые значения цвета. Оба аргумента могут быть либо значениями цвета, либо строковыми значениями. Если предоставлено строковое значение, оно должно быть преобразуемо в цвет, как описано для базового типа цвет.

объект createComponent(url, mode, parent)

Возвращает объект Component, созданный с помощью QML-файла по указанному url, или null если была передана пустая строка.

Свойство 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. Если режим не был передан, он может быть вторым аргументом.

Вызовите Component.createObject() на возвращаемом компоненте, чтобы создать экземпляр объекта компонента.

Например:

import QtQuick 2.0

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-объектов из JavaScript.

Чтобы создать QML-объект из произвольной строки QML (вместо файла), используйте Qt.createQmlObject().

объект createQmlObject(qml, объект parent, строка filepath)

Возвращает новый объект, созданный из заданной строки qml, который будет иметь указанный parent, или null если при создании объекта произошла ошибка.

Если filepath указан, он будет использоваться для сообщения об ошибках для созданного объекта.

Пример (где parentItem — идентификатор существующего QML-элемента):

var newObject = Qt.createQmlObject('import QtQuick 2.0; Rectangle {color: "red"; width: 20; height: 20}',
                                   parentItem,
                                   "dynamicSnippet1");

В случае ошибки выбрасывается объект ошибки Qt Script. Этот объект имеет дополнительное свойство qmlErrors, которое является массивом обнаруженных ошибок. Каждый объект в этом массиве имеет члены lineNumber, columnNumber, fileName и message. Например, если в приведенном фрагменте кода слово «color» было неправильно написано как «colro», массив будет содержать объект следующего вида: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Cannot assign to non-existent property "colro""}.

Обратите внимание, что эта функция возвращает результат немедленно и, следовательно, может не работать, если строка qml загружает новые компоненты (то есть внешние QML-файлы, которые ещё не загружены). В этом случае рассмотрите возможность использования Qt.createComponent() вместо этого.

Дополнительную информацию об использовании этой функции см. в разделе Динамическое создание QML-объектов из JavaScript.

цвет darker(baseColor, вещественный factor)

Возвращает цвет, более тёмный, чем baseColor, на указанный factor.

Если factor больше 1.0, эта функция возвращает более тёмный цвет. Установка factor в 3.0 возвращает цвет, имеющий в три раза меньшую яркость. Если factor меньше 1.0, возвращаемый цвет будет светлее, но для этой цели рекомендуется использовать функцию Qt.lighter(). Если factor равен 0 или отрицателен, возвращаемое значение не определено.

Функция преобразует текущий цвет RGB в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в RGB.

Если factor не указан, возвращается цвет, который на 50% темнее, чем baseColor (factor 2.0).

exit(retCode)

Эта функция вызывает испускание сигнала QQmlEngine::exit(int). В Prototyping with qmlscene это приводит к завершению запускаемого приложения со значением возврата retCode. Для завершения цикла обработки событий с указанным кодом возврата при вызове этого метода приложение на C++ может подключить сигнал QQmlEngine::exit(int) к слоту QCoreApplication::exit(int).

См. также quit().

шрифт font(fontSpecifier)

Возвращает шрифт с свойствами, указанными в объекте fontSpecifier, или ближайший подходящий шрифт. Объект fontSpecifier должен содержать пары ключ-значение, где допустимые ключи — имена подсвойств типа шрифт, а значения — допустимые значения для каждого подсвойства. Недопустимые ключи будут проигнорированы.

список<строка> fontFamilies()

Возвращает список доступных шрифтов для приложения.

строка formatDate(date, переменная format)

Возвращает строковое представление date, необязательно отформатированное в соответствии с format.

Параметр date может быть объектом JavaScript Date, свойством дата, значением QDate или QDateTime.

Параметр format может принимать любые допустимые значения формата, как описано для Qt.formatDateTime().

Если format не указан, date форматируется с использованием Qt.DefaultLocaleShortDate.

См. также Локали.

строка formatDateTime(dateTime, переменная format)

Возвращает строковое представление dateTime, необязательно отформатированное в соответствии с format.

Параметр dateTime может быть объектом JavaScript Date, свойством дата, значением QDate, QTime или QDateTime.

Если format не указан, dateTime форматируется с использованием Qt.DefaultLocaleShortDate. В противном случае format должен быть либо:

  • Одним из значений перечисления Qt::DateFormat, например, Qt.DefaultLocaleShortDate или Qt.ISODate
  • Строкой, которая определяет формат возвращаемой строки, как подробно описано ниже.

Если format задаёт строку формата, она должна использовать следующие выражения для указания даты:

Выражение Вывод
d день как число без ведущего нуля (1 до 31)
dd день как число с ведущим нулём (01 до 31)
ddd сокращённое локальное имя дня (например, 'Пн' до 'Вс'). Использует QDate::shortDayName().
dddd полное локальное имя дня (например, 'Понедельник' до 'Qt::Воскресенье'). Использует QDate::longDayName().
M месяц как число без ведущего нуля (1-12)
MM месяц как число с ведущим нулём (01-12)
MMM сокращённое локальное имя месяца (например, 'Янв' до 'Дек'). Использует QDate::shortMonthName().
MMMM полное локальное имя месяца (например, 'Январь' до 'Декабрь'). Использует QDate::longMonthName().
yy год как число с двумя знаками (00-99)
yyyy год как число с четырьмя знаками

Кроме того, можно использовать следующие выражения для указания времени:

Выражение Вывод
h час без ведущего нуля (0 до 23 или 1 до 12, если отображается AM/PM)
hh час с ведущим нулём (00 до 23 или 01 до 12, если отображается AM/PM)
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 включить индикатор часового пояса.

Все остальные символы входных данных будут проигнорированы. Любая последовательность символов, заключённая в одинарные кавычки, будет обрабатываться как текст и не будет использоваться как выражение. Две последовательные одинарные кавычки («''») заменяются одной одинарной кавычкой в выводе.

Например, если указано следующее значение даты/времени:

// 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" Вт Май 21 01
"hh:mm:ss.zzz" 14:13:09.042
"h:m:s ap" 2:13:9 пп

См. также Локаль.

строка formatTime(time, переменная format)

Возвращает строковое представление time, необязательно отформатированное по format.

Параметр time может быть объектом JavaScript Date, значением QTime или QDateTime. Параметр format может быть любым из возможных значений формата, как описано для Qt.formatDateTime().

Если format не указан, time форматируется с использованием Qt.DefaultLocaleShortDate.

См. также Локаль.

цвет hsla(hue, вещественное saturation, вещественное lightness, вещественное alpha)

Возвращает цвет с указанными компонентами hue, saturation, lightness и alpha. Все компоненты должны находиться в диапазоне от 0 до 1 (включительно).

цвет hsva(hue, вещественное saturation, вещественное value, вещественное alpha)

Возвращает цвет с указанными компонентами hue, saturation, value и alpha. Все компоненты должны находиться в диапазоне от 0 до 1 (включительно).

Этот метод был введён в Qt 5.5.

логическое isQtObject(object)

Возвращает true , если object является корректной ссылкой на объект Qt или QML, false в противном случае.

цвет lighter(baseColor, вещественное factor)

Возвращает цвет светлее baseColor на указанный factor.

Если фактор больше 1.0, возвращается более светлый цвет. Установка фактора в 1,5 возвращает цвет, который на 50% светлее. Если фактор меньше 1.0, возвращаемый цвет темнее, но для этой цели рекомендуется использовать функцию Qt.darker(). Если фактор равен 0 или отрицателен, возвращаемое значение не определено.

Функция преобразует текущий цвет RGB в HSV, умножает компонент значения (V) на фактор и преобразует цвет обратно в RGB.

Если factor не указан, возвращается цвет, который на 50% светлее baseColor (фактор 1,5).

locale(name)

Возвращает объект JS, представляющий локаль с указанным именем name, который имеет формат "язык[_территория][.кодировка][@модификатор]" или "C", где:

  • language — это двухбуквенный код языка, ISO 639, в нижнем регистре,
  • territory — это двухбуквенный код страны, ISO 3166, в верхнем регистре, и
  • codeset и modifier игнорируются.

Если строка нарушает формат локали или язык не является допустимым кодом ISO 369, используется локаль "C". Если страна не указана или не является допустимым кодом ISO 3166, для указанного языка выбирается наиболее подходящая страна.

См. также Локаль.

строка md5(data)

Возвращает шестнадцатеричную строку хэш-суммы md5 data.

matrix4x4 matrix4x4(m11, вещественное m12, вещественное m13, вещественное m14, вещественное m21, вещественное m22, вещественное m23, вещественное m24, вещественное m31, вещественное m32, вещественное m33, вещественное m34, вещественное m41, вещественное m42, вещественное m43, вещественное m44)

Возвращает матрицу 4x4 со значениями, указанными в параметрах.

Аргументы соответствуют их позициям в матрице:

m11 m12 m13 m14
m21 m22 m23 m24
m31 m32 m33 m34
m41 m42 m43 m44

Альтернативно, функция может быть вызвана с одним аргументом, где этот аргумент — массив JavaScript, содержащий шестнадцать значений матрицы.

Наконец, функция может быть вызвана без аргументов, и полученная матрица будет единичной матрицей.

логическое openUrlExternally(target)

Попытка открыть указанный target URL в стороннем приложении в соответствии с настройками пользователя на рабочем столе. Возвращает true при успехе, false в противном случае.

Предупреждение: Значение возврата true указывает, что приложение успешно запросило операционную систему открыть URL в стороннем приложении. Стороннее приложение всё ещё может не запуститься или не сможет открыть запрашиваемый URL. Этот результат не будет сообщен обратно приложению.

точка point(x, целое y)

Возвращает точку с указанными координатами x и y.

строка qsTr(sourceText, строка disambiguation, целое n)

Возвращает переведённую версию sourceText, необязательно на основе строки disambiguation и значения n для строк, содержащих множественные формы; в противном случае возвращает sourceText, если подходящая переведённая строка недоступна.

Если один и тот же sourceText используется в разных ролях в одном контексте перевода, для disambiguation может передаваться дополнительная строка идентификации.

Пример:

Text { text: qsTr("hello") }

См. также Локализация и интернационализация с Qt Quick.

строка qsTrId(id, целое n)

Возвращает переведённую строку, идентифицированную по id. Если соответствующая строка не найдена, возвращается сам id. Это не должно происходить в нормальных условиях.

Если n >= 0, все вхождения %n в результирующей строке заменяются десятичным представлением n. Кроме того, в зависимости от значения n, текст перевода может варьироваться.

Пример:

Text { text: qsTrId("hello_id") }

Возможно предоставить шаблон исходной строки, такой как:

//% <string>

или

\begincomment% <string> \endcomment

Пример:

Text {
    //% "hello"
    text: qsTrId("hello_id")
}

Создание бинарных файлов перевода (QM), пригодных для использования с этой функцией, требует передачи параметра -idbased инструменту lrelease.

См. также QT_TRID_NOOP() и Локализация и интернационализация с Qt Quick.

строка qsTrIdNoOp(id)

Помечает id для динамического перевода.

Возвращает id.

QT_TRID_NOOP используется совместно с функцией динамического перевода qsTrId(). Она идентифицирует строку, требующую перевода (чтобы её можно было идентифицировать по lupdate), но фактический перевод делегируется qsTrId().

Пример:

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

    Text { text: qsTrId(greetingId) }
}

См. также qsTrId() и Локализация и интернационализация с Qt Quick.

строка qsTrNoOp(sourceText, строка disambiguation)

Помечает sourceText для динамического перевода; т.е., хранимый sourceText не будет изменён.

Если один и тот же sourceText используется в разных ролях в одном контексте перевода, дополнительная строка идентификации может быть передана для disambiguation.

Возвращает sourceText.

QT_TR_NOOP используется совместно с функциями динамического перевода qsTr() и qsTranslate(). Она идентифицирует строку, требующую перевода (чтобы её можно было идентифицировать по lupdate), но фактический перевод делегируется динамическим функциям.

Пример:

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

    Text { text: qsTr(greeting) }
}
END_OF_DOCUMENT_MARKER

См. также Международная и локальная поддержка с Qt Quick.

строка qsTranslate(контекст, строка исходныйТекст, строка уточнение, целое n)

Возвращает переведенную версию исходныйТекст в заданном контексте, необязательно на основе строки уточнение и значения n для строк, содержащих множественное число; в противном случае возвращает исходныйТекст, если подходящая переведенная строка недоступна.

Если один и тот же исходныйТекст используется в разных ролях в одном и том же контексте перевода, для уточнения можно передать дополнительную строку идентификации.

Пример:

Text { text: qsTranslate("CustomContext", "hello") }

См. также Международная и локальная поддержка с Qt Quick.

строка qsTranslateNoOp(контекст, строка исходныйТекст, строка уточнение)

Помечает исходныйТекст для динамического перевода в заданном контексте; то есть, сохраненный исходныйТекст не будет изменен.

Если один и тот же исходныйТекст используется в разных ролях в одном и том же контексте перевода, для уточнения можно передать дополнительную строку идентификации.

Возвращает исходныйТекст.

QT_TRANSLATE_NOOP используется совместно с функциями динамического перевода qsTr() и qsTranslate(). Он идентифицирует строку как требующую перевода (так что она может быть идентифицирована), но оставляет фактический перевод динамическим функциям.

Пример:

Item {
    property string greeting: QT_TRANSLATE_NOOP("CustomContext", "hello")

    Text { text: qsTranslate("CustomContext", greeting) }
}

См. также Международная и локальная поддержка с Qt Quick.

кватернион quaternion(скаляр, вещественное x, вещественное y, вещественное z)

Возвращает кватернион со значениями скаляр, x, y и z.

quit()

Эта функция вызывает излучение сигнала QQmlEngine::quit(). Внутри Прототипирование с qmlscene это заставляет приложение-запускатор завершить работу; для завершения работы приложения C++ при вызове этого метода подключите сигнал QQmlEngine::quit() к слоту QCoreApplication::quit().

См. также exit().

прямоугольник rect(x, целое y, целое ширина, целое высота)

Возвращает прямоугольник с верхним левым углом в точке x, y и указанной шириной и высотой.

url resolvedUrl(url)

Возвращает url, разрешенный относительно URL вызывающего объекта.

цвет rgba(красный, вещественное зеленый, вещественное синий, вещественное альфа)

Возвращает цвет с указанными компонентами красный, зеленый, синий и альфа. Все компоненты должны быть в диапазоне от 0 до 1 (включительно).

размер size(ширина, целое высота)

Возвращает размер с указанной шириной и высотой.

цвет tint(базовыйЦвет, цвет цветОттенка)

Эта функция позволяет тонировать один цвет (базовыйЦвет) другим цветом (цветОттенка).

Цвет оттенка обычно должен быть в основном прозрачным, иначе вы не сможете увидеть основной цвет. Приведенный ниже пример обеспечивает небольшой красный оттенок, используя чистый красный цвет, который имеет только 1/16 непрозрачности.

Item {
    Rectangle {
        x: 0; width: 80; height: 80
        color: "lightsteelblue"
    }
    Rectangle {
        x: 100; width: 80; height: 80
        color: Qt.tint("lightsteelblue", "#10FF0000")
    }
}

Оттенок наиболее полезен, когда требуется передать незначительное изменение из-за какого-либо события; затем вы можете использовать тонирование для более эффективной настройки видимого цвета.

вектор2d vector2d(x, вещественное y)

Возвращает вектор2d со значениями x и y.

вектор3d vector3d(x, вещественное y, вещественное z)

Возвращает вектор3d со значениями x, y и z.

вектор4d vector4d(x, вещественное y, вещественное z, вещественное w)

Возвращает вектор4d со значениями x, y, z и w.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtqml-qt.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API