Spec-Zone.ru › Qt 6.1

Тип Qt QML

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

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

Свойства

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

Методы

  • color alpha(color baseColor, real value)
  • string atob(data)
  • binding(function)
  • string btoa(data)
  • callLater(function, argument1, argument2, ...)
  • callLater(function)
  • color color(string name)
  • 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()

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

[since 5.1] 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.

[since 5.0] inputMethod : object

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

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

[since 5.1] 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
  • "wasm" - WebAssembly
platform.pluginName Это имя платформы, установленное в экземпляре QGuiApplication, возвращаемое QGuiApplication::platformName()

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

[since 5.5] 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.

[since 5.15] 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.

цвет alpha(цвет baseColor, вещественный value)

Возвращает baseColor с альфа-каналом value.

value — вещественное число в диапазоне от 0 (полностью прозрачный) до 1 (полностью непрозрачный).

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

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

[since 5.0] 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.

цвет color(строка имя)

Возвращает цвет, соответствующий заданному имени (например, красный или #ff0000). Если такого цвета нет, null возвращается.

цвет colorEqual(цвет lhs, строка 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");

В случае ошибки генерируется объект QQmlError. У этого объекта есть дополнительное свойство, qmlErrors, которое представляет собой массив обнаруженных ошибок. Каждый объект в этом массиве имеет члены lineNumber, columnNumber, fileName и message. Например, если в указанном фрагменте была опечатка «color» как «colro», массив будет содержать объект следующего вида: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Невозможно присвоить несуществующему свойству "colro""}.

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

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

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

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

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

Функция преобразует текущий цвет RGB в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в 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(дата дата, переменная формат, переменная localeFormatOption)

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

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

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

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

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

строка formatDateTime(датавремя dateTime, переменная формат, переменная localeFormatOption)

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

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

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

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

Если формат задаёт объект локали, dateTime форматируется с помощью QLocale::toString. В этом случае localeFormatOption может содержать значение типа 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 (включительно).

[since 5.5] цвет 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.

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

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

Если factor не указан, возвращает цвет, на 50% светлее, чем baseColor (factor 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(url 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) }
}

См. также Международная и локальная поддержка с 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(). В Средстве разработки с qmlscene, это вызывает выход приложения-запуска; для выхода из приложения C++, когда вызывается этот метод, подключите сигнал QQmlEngine::quit() к слоту QCoreApplication::quit().

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

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

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

url resolvedUrl(url url)

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

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

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

размер size(вещественное 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-6.1/qml-qtqml-qt.html

Spec-Zone.ru

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