Spec-Zone.ru › Qt 6.0

Тип Qt QML

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

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

Свойства

  • application : объект
  • inputMethod : объект
  • platform : объект
  • styleHints : объект
  • uiLanguage : строка

Методы

  • цвет alpha(цвет baseColor, вещественное число value)
  • строка atob(данные)
  • binding(функция)
  • строка btoa(данные)
  • callLater(функция, аргумент1, аргумент2, ...)
  • callLater(функция)
  • цвет color(строка имя)
  • цвет colorEqual(цвет lhs, строка rhs)
  • объект createComponent(url, режим, родитель)
  • объект createQmlObject(строка qml, объект родитель, строка путь_к_файлу)
  • цвет darker(цвет baseColor, вещественное число коэффициент)
  • exit(целое число retCode)
  • шрифт font(объект fontSpecifier)
  • список<строка> fontFamilies()
  • строка formatDate(дата дата, переменная формат, переменная localeFormatOption)
  • строка formatDateTime(дата_время dateTime, переменная формат, переменная localeFormatOption)
  • строка formatTime(время время, переменная формат, переменная localeFormatOption)
  • цвет hsla(вещественное число оттенок, вещественное число насыщенность, вещественное число светлота, вещественное число альфа)
  • цвет hsva(вещественное число оттенок, вещественное число насыщенность, вещественное число значение, вещественное число альфа)
  • логическое значение isQtObject(объект)
  • цвет lighter(цвет baseColor, вещественное число коэффициент)
  • locale(имя)
  • строка md5(данные)
  • матрица4x4 matrix4x4(вещественное число m11, вещественное число m12, вещественное число m13, вещественное число m14, вещественное число m21, вещественное число m22, вещественное число m23, вещественное число m24, вещественное число m31, вещественное число m32, вещественное число m33, вещественное число m34, вещественное число m41, вещественное число m42, вещественное число m43, вещественное число m44)
  • логическое значение openUrlExternally(url цель)
  • точка point(вещественное число x, вещественное число y)
  • строка qsTr(строка sourceText, строка disambiguation, целое число n)
  • строка qsTrId(строка id, целое число n)
  • строка qsTrIdNoOp(строка id)
  • строка qsTrNoOp(строка sourceText, строка disambiguation)
  • строка qsTranslate(строка контекст, строка sourceText, строка disambiguation, целое число n)
  • строка qsTranslateNoOp(строка контекст, строка sourceText, строка disambiguation)
  • кватернион quaternion(вещественное число скаляр, вещественное число x, вещественное число y, вещественное число z)
  • quit()
  • прямоугольник rect(вещественное число x, вещественное число y, вещественное число ширина, вещественное число высота)
  • url resolvedUrl(url url)
  • цвет rgba(вещественное число красный, вещественное число зелёный, вещественное число синий, вещественное число альфа)
  • размер size(вещественное число ширина, вещественное число высота)
  • цвет tint(цвет baseColor, цвет tintColor)
  • вектор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 Namespace. Например, вы можете получить значения перечисления 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()

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

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

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

color alpha(color baseColor, real value)

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

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

string atob(data)

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

[since 5.0] binding(function)

Возвращает JavaScript-объект, представляющий связывание свойства, с функцией, которая вычисляет связывание.

Существует два основных случая использования функции: во-первых, для императивного применения связывания свойства из кода 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. Если не был передан параметр mode, он может быть вторым аргументом.

Вызовите 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.

Если значение 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). В среде Разработка с 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 в соответствии с локальными настройками по умолчанию.

См. также Locale.

строка 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.0/qml-qtqml-qt.html

Spec-Zone.ru

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