Spec-Zone.ru › Qt 5.15

Тип Qt QML

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

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

Свойства

  • application : object
  • inputMethod : object
  • platform : object
  • styleHints : object
  • uiLanguage : string

Методы

  • string atob(data)
  • binding(function)
  • string btoa(data)
  • callLater(function, argument1, argument2, ...)
  • callLater(function)
  • color colorEqual(color lhs, string rhs)
  • object createComponent(url, mode, parent)
  • 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)
  • 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(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 qsTrIdNoOp(string id)
  • string qsTrNoOp(string sourceText, string disambiguation)
  • string qsTranslate(string context, string sourceText, string disambiguation, int n)
  • string qsTranslateNoOp(string context, string sourceText, string disambiguation)
  • 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)
  • color rgba(real red, real green, real blue, real alpha)
  • size size(real width, real height)
  • color tint(color baseColor, color tintColor)
  • 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 — это глобальный объект с утилитарными функциями, свойствами и перечислениями.

Он не может быть экземпляризирован; для его использования вызывайте члены глобального объекта 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.

  • string Qt.formatDateTime(datetime date, variant format)
  • string Qt.formatDate(datetime date, variant format)
  • string Qt.formatTime(datetime date, variant format)

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

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

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

  • object Qt.createComponent(url)
  • object Qt.createQmlObject(string qml, object parent, string filepath)

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

На объекте Qt также находятся следующие функции.

  • Qt.quit()
  • Qt.md5(string)
  • string Qt.btoa(string)
  • string Qt.atob(string)
  • object Qt.binding(function)
  • object Qt.locale()
  • string Qt.resolvedUrl(string)
  • Qt.openUrlExternally(string)
  • list<string> Qt.fontFamilies()

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

application : object

Объект 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
  • "wasm" - WebAssembly
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.

uiLanguage : string

uiLanguage содержит имя языка, используемого для перевода строк пользовательского интерфейса. Оно экспонируется в C++ как свойство QQmlEngine::uiLanguage.

Вы можете свободно устанавливать значение и использовать его в привязках. Рекомендуется устанавливать его после установки переводчиков в вашем приложении. По соглашению, пустая строка означает, что перевод из языка, используемого в исходном коде, не должен выполняться.

Если вы используете QQmlApplicationEngine и значение меняется, вызов QQmlEngine::retranslate() будет сделан.

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

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

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

Этот QML-метод был введён в 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.

строка btoa(данные)

Двоичное представление в ASCII — эта функция возвращает кодировку данных в формате base64.

цвет colorEqual(цвет lhs, строка rhs)

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

объект createComponent(url, режим, родитель)

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

Свойство Component::status возвращаемого компонента указывает, был ли компонент успешно создан. Если статус равен Component.Error, см. Component::errorString() для описания ошибки.

Если необязательный параметр режим установлен в Component.Asynchronous, компонент будет загружен в фоновом потоке. Свойство Component::status будет Component.Loading во время загрузки. Статус изменится на Component.Ready если компонент загрузится успешно, или на Component.Error если загрузка завершится неудачно. По умолчанию этот параметр равен Component.PreferSynchronous если он опущен.

Если режим установлен в Component.PreferSynchronous, Qt попытается загрузить компонент синхронно, но может в конечном итоге загрузить его асинхронно, если это необходимо. К сценариям, которые могут вызвать асинхронную загрузку, относятся, но не ограничиваются ими:

  • URL ссылается на сетевой ресурс
  • Компонент создаётся в результате загрузки другого компонента асинхронно

Если необязательный параметр родитель указан, он должен ссылаться на объект, который станет родителем созданного объекта 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, объект родитель, строка путь_к_файлу)

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

Если указан путь_к_файлу, он будет использоваться для отчётности об ошибках созданного объекта.

Пример (где 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. Например, если в приведенном фрагменте код было написано «colro» вместо «color», то массив будет содержать объект, подобный следующему: { «номер_строки» : 1, «номер_столбца» : 32, «имя_файла» : «dynamicSnippet1», «сообщение» : «Невозможно присвоить несуществующему свойству «colro»»}.

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

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

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

Возвращает цвет, более тёмный, чем baseColor на заданный множитель factor.

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

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

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

exit(целое retCode)

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

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

шрифт font(объект fontSpecifier)

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

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

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

строка formatDate(дата дата, переменная формат, переменная опции_формата_локального_времени)

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

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

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

Если формат не указан, дата форматируется с помощью Locale.ShortFormat используя локаль по умолчанию.

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

строка formatDateTime(дата_время dateTime, переменная формат, переменная опции_формата_локального_времени)

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

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

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

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

Если формат задаёт локальный объект, dateTime форматируется с помощью QLocale::toString. В этом случае опции_формата_локального_времени может содержать значение типа QLocale::FormatType для дальнейшей настройки форматирования. Если не указано, используется Locale.ShortFormat.

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

Выражение Вывод
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(datetime time, variant format, variant localeFormatOption)

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

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

Если format не указан, time форматируется с помощью Locale.ShortFormat с использованием локальной области по умолчанию.

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

цвет 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(объект)

Возвращает true , если объект является корректной ссылкой на объект 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(данные)

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

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

Попытка открыть указанный URL target во внешнем приложении, в соответствии с настройками рабочего стола пользователя. Возвращает 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) }
}

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

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

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

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

Пример:

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

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

строка qsTranslateNoOp(строка context, строка sourceText, строка disambiguation)

Помечает sourceText для динамического перевода в заданном context; т.е. хранящаяся 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 Quick.

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

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

quit()

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

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

прямоугольник rect(вещественное x, вещественное y, вещественное width, вещественное height)

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

url resolvedUrl(url url)

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

цвет rgba(вещественное red, вещественное green, вещественное blue, вещественное alpha)

Возвращает цвет с заданными компонентами red, green, blue и alpha. Все компоненты должны быть в диапазоне 0-1 (включительно).

размер size(вещественное width, вещественное height)

Возвращает размер с заданной width и height.

цвет tint(цвет baseColor, цвет 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")
    }
}

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

вектор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.15/qml-qtqml-qt.html

Spec-Zone.ru

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