Spec-Zone.ru › Qt

Тип Qt QML

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

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

Свойства

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

Методы

  • цвет alpha(цвет baseColor, вещественное число value)
  • строка atob(data)
  • binding(function)
  • строка btoa(data)
  • callLater(function, argument1, argument2, ...)
  • callLater(function)
  • цвет color(строка name)
  • цвет colorEqual(цвет lhs, строка rhs)
  • Компонент createComponent(url url, перечисление mode, QtObject parent)
  • объект createQmlObject(строка qml, объект parent, строка filepath)
  • цвет darker(цвет baseColor, вещественное число factor)
  • exit(целое число retCode)
  • шрифт font(объект fontSpecifier)
  • список<строка> fontFamilies()
  • строка formatDate(дата date, вариант format, вариант localeFormatOption)
  • строка formatDateTime(датаВремя dateTime, вариант format, вариант localeFormatOption)
  • строка formatTime(время time, вариант format, вариант localeFormatOption)
  • цвет hsla(вещественное число hue, вещественное число saturation, вещественное число lightness, вещественное число alpha)
  • цвет hsva(вещественное число hue, вещественное число saturation, вещественное число value, вещественное число alpha)
  • логическое значение isQtObject(object)
  • цвет lighter(цвет baseColor, вещественное число factor)
  • locale(name)
  • строка md5(data)
  • матрица4x4 matrix4x4(вещественное число m11, вещественное число m12, вещественное число m13, вещественное число m14, вещественное число m21, вещественное число m22, вещественное число m23, вещественное число m24, вещественное число m31, вещественное число m32, вещественное число m33, вещественное число m34, вещественное число m41, вещественное число m42, вещественное число m43, вещественное число m44)
  • логическое значение openUrlExternally(url target)
  • точка point(вещественное число x, вещественное число y)
  • строка qsTr(строка sourceText, строка disambiguation, целое число n)
  • строка qsTrId(строка id, целое число n)
  • строка qsTrIdNoOp(строка id)
  • строка qsTrNoOp(строка sourceText, строка disambiguation)
  • строка qsTranslate(строка context, строка sourceText, строка disambiguation, целое число n)
  • строка qsTranslateNoOp(строка context, строка sourceText, строка disambiguation)
  • кватернион quaternion(вещественное число scalar, вещественное число x, вещественное число y, вещественное число z)
  • quit()
  • прямоугольник rect(вещественное число x, вещественное число y, вещественное число width, вещественное число height)
  • url resolvedUrl(url url, объект context)
  • url resolvedUrl(url url)
  • цвет rgba(вещественное число red, вещественное число green, вещественное число blue, вещественное число alpha)
  • размер size(вещественное число width, вещественное число height)
  • цвет tint(цвет baseColor, цвет tintColor)
  • url url(url url)
  • вектор2d vector2d(вещественное число x, вещественное число y)
  • вектор3d vector3d(вещественное число x, вещественное число y, вещественное число z)
  • вектор4d vector4d(вещественное число x, вещественное число y, вещественное число z, вещественное число w)

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

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

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

import QtQuick 2.0

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

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

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

Типы

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

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

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

  • color — используйте Qt.rgba(), Qt.hsla(), Qt.darker(), Qt.lighter() или Qt.tint()
  • font — используйте Qt.font()
  • vector2d — используйте Qt.vector2d()
  • vector3d — используйте Qt.vector3d()
  • vector4d — используйте Qt.vector4d()
  • quaternion — используйте Qt.quaternion()
  • matrix4x4 — используйте Qt.matrix4x4()

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

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

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

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

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

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

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

  • объект Qt.createComponent(url)
  • объект Qt.createQmlObject(строка qml, объект parent, строка filepath)

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

На объекте 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.

В следующем примере используется объект 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.

[since 5.0] inputMethod : object

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

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

[since 5.1] platform : object

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

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

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.

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

[since 5.8] 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-объект, представляющий привязку свойства, с функцией function, которая вычисляет привязку.

Есть два основных случая использования функции: во-первых, чтобы применить привязку свойства императивно из JavaScript-кода:

Item {
    property bool someCondition: true
    property int edgePosition

    Component.onCompleted: {
        if (someCondition == true) {
            // bind to the result of the binding expression passed to Qt.binding()
            edgePosition = Qt.binding(function() { return x + width })
        }
    }
}

и, во-вторых, чтобы применить привязку свойства при инициализации значений свойства динамически созданных объектов (через Component.createObject() или Loader.setSource()).

Например, предполагая наличие компонента DynamicText:

import QtQuick 2.0

Text {
    id: textElement
    width: 200
    height: 200
    text: "Default text"
    property string dynamicText: "Dynamic text"
    onTextChanged: console.log(text)
}

выход от:

Item {
    id: root
    property string dynamicText: "Root text"

    Component.onCompleted: {
        var c = Qt.createComponent("DynamicText.qml")

        var obj1 = c.createObject(root, { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
        root.dynamicText = "Modified root text"

        var obj2 = c.createObject(root, { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
        obj2.dynamicText = "Modified dynamic text"
    }
}

и от:

Item {
    id: root
    property string dynamicText: "Root text"

    Loader {
        id: loaderOne
        onLoaded: root.dynamicText = "Modified root text"
    }

    Loader {
        id: loaderTwo
        onLoaded: item.dynamicText = "Modified dynamic text"
    }

    Component.onCompleted: {
        loaderOne.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
        loaderTwo.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
    }
}

должен быть:

Root text extra text
Modified root text extra text
Dynamic text extra text
Modified dynamic text extra text

Эта функция не может использоваться в объявлениях привязок свойств (см. документацию по объявлениям и присвоениям привязок), за исключением случаев, когда результат хранится в массиве, привязанном к свойству var.

Item {
    width: 50
    property var storedBindings: [ Qt.binding(function() { return x + width }) ] // stored
    property int a: Qt.binding(function() { return x + width }) // error!
    property int b

    Component.onCompleted: {
        b = storedBindings[0] // causes binding assignment
    }
}

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

string btoa(data)

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

color color(string name)

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

color colorEqual(color lhs, string rhs)

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

Component createComponent(url url, enumeration mode, QtObject 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().

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

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

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

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

const newObject = Qt.createQmlObject(`
    import QtQuick 2.0

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

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

END_OF_DOCUMENT_MARKER

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

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

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

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

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

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

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

выйти(целое retCode)

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

См. также выход().

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

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

список<строка> названияШрифтов()

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

строка форматироватьДату(дата date, вариант format, вариант localeFormatOption)

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

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

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

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

См. также Языковой стандарт.

строка форматироватьDateTime(дата dateTime, вариант format, вариант localeFormatOption)

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

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

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

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

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

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

Выражение Результат
d день как число без ведущего нуля (1–31)
dd день как число с ведущим нулем (01–31)
ddd сокращенное локальное имя дня (например, «Пн» — «Вс»). Использует QDate::shortDayName().
dddd полное локальное имя дня (например, «Понедельник» — «Воскресенье»). Использует 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 пп

См. также Языковой стандарт.

строка форматироватьВремя(дата time, вариант format, вариант 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.

END_OF_DOCUMENT_MARKER

bool isQtObject(object)

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

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

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

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

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

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

locale(name)

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

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

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

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

строка md5(data)

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

матрица4x4 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-массив, содержащий шестнадцать значений матрицы.

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

bool 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. Если соответствующая строка не найдена, возвращается сам идентификатор. Это не должно происходить в нормальных условиях.

Если 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 quaternion(real scalar, real x, real y, real z)

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

quit()

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

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

rect rect(real x, real y, real width, real height)

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

url resolvedUrl(url url, object context)

Возвращает url, разрешённый относительно URL-адреса контекста QML объекта context. Если context не связан с контекстом QML, возвращает url, разрешённый относительно базового URL-адреса движка QML. Если у движка QML нет базового URL-адреса, просто возвращает url.

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

url resolvedUrl(url url)

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

Если нет вызывающего элемента или вызывающий элемент не связан с контекстом QML, возвращает url, разрешённый относительно базового URL-адреса движка QML. Если у движка QML нет базового URL-адреса, просто возвращает url.

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

color rgba(real red, real green, real blue, real alpha)

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

size size(real width, real height)

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

color tint(color baseColor, color tintColor)

Эта функция позволяет тонировать один цвет (baseColor) другим цветом (tintColor).

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

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

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

url url(url url)

Возвращает url без изменений. Это может использоваться для принудительного преобразования типа в url. В отличие от Qt.resolvedUrl() этот метод сохраняет любые относительные URL-адреса. Поскольку строки неявно преобразуются в URL-адреса, функцию можно вызывать со строкой в качестве аргумента, и она вернёт URL-адрес.

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

vector2d vector2d(real x, real y)

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

vector3d vector3d(real x, real y, real z)

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

vector4d vector4d(real x, real y, real z, real 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.2/qml-qtqml-qt.html

Spec-Zone.ru

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