Spec-Zone.ru › Qt 5.6

Тип QML Qt

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

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

Свойства

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

Методы

  • строка atob(данные)
  • binding(функция)
  • строка btoa(данные)
  • цвет colorEqual(цвет lhs, строка rhs)
  • объект createComponent(url, mode, parent)
  • объект createQmlObject(строка qml, объект parent, строка filepath)
  • цвет darker(цвет baseColor, вещественное factor)
  • font(объект fontSpecifier)
  • список<строка> fontFamilies()
  • строка formatDate(дата date, переменная format)
  • строка formatDateTime(дата_время dateTime, переменная format)
  • строка formatTime(время time, переменная format)
  • цвет hsla(вещественное hue, вещественное saturation, вещественное lightness, вещественное alpha)
  • цвет hsva(вещественное hue, вещественное saturation, вещественное value, вещественное alpha)
  • объект include(строка url, jsobject callback)
  • логическое isQtObject(объект)
  • цвет lighter(цвет baseColor, вещественное factor)
  • locale(name)
  • строка md5(данные)
  • 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)
  • цвет rgba(вещественное red, вещественное green, вещественное blue, вещественное alpha)
  • size(целое width, целое height)
  • цвет tint(цвет baseColor, цвет tintColor)
  • vector2d(вещественное x, вещественное y)
  • vector3d(вещественное x, вещественное y, вещественное z)
  • 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(дата_время 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()

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

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.arguments Это список строк аргументов, с которыми был запущен исполняемый файл.
application.name Это имя приложения, установленное в экземпляре QCoreApplication. Это свойство можно записать, чтобы установить имя приложения.
application.version Это версия приложения, установленная в экземпляре QCoreApplication. Это свойство можно записать, чтобы установить версию приложения.
application.organization Это имя организации, установленное в экземпляре QCoreApplication. Это свойство можно записать, чтобы установить имя организации.
application.domain Это домен организации, установленный в экземпляре QCoreApplication. Это свойство можно записать, чтобы установить домен организации.
application.supportsMultipleWindows Это свойство только для чтения, которое можно использовать для определения возможности поддержки платформой нескольких окон. Например, некоторые встроенные платформы не поддерживают несколько окон.

Объект также имеет один сигнал, 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

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

inputMethod : object

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

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

platform : object

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

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

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

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

  • "android" - Android
  • "blackberry" - BlackBerry OS
  • "ios" - iOS
  • "linux" - Linux
  • "osx" - macOS
  • "unix" - Другая ОС на основе Unix
  • "windows" - Windows
  • "wince" - Windows CE
  • "winrt" - Windows Runtime
  • "winphone" - Windows Phone

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

styleHints : object

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

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

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

import QtQuick 2.4

MouseArea {
    id: button

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

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

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

string atob(data)

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

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 Quick 1 все присвоения функций обрабатывались как присвоения привязки. Функция Qt.binding() — это нововведение в Qt Quick 2.

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

string btoa(data)

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

color colorEqual(color lhs, string rhs)

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

object 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");

В случае ошибки выбрасывается объект ошибки Qt Script. Этот объект имеет дополнительное свойство, 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).

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

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

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

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

строка formatDate(дата date, вариант format)

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

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

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

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

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

строка formatDateTime(дата dateTime, вариант format)

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

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

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

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

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

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

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

Выражение Вывод
h час без ведущего нуля (0–23 или 1–12 при отображении AM/PM)
hh час с ведущим нулём (00–23 или 01–12 при отображении AM/PM)
m минута без ведущего нуля (0–59)
mm минута с ведущим нулём (00–59)
s секунда без ведущего нуля (0–59)
ss секунда с ведущим нулём (00–59)
z миллисекунды без ведущих нулей (0–999)
zzz миллисекунды с ведущими нулями (000–999)
AP используется отображение AM/PM. AP будет заменено на "AM" или "PM".
ap используется отображение am/pm. ap будет заменено на "am" или "pm".

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

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

// 21 May 2001 14:13:09
var dateTime = new Date(2001, 5, 21, 14, 13, 09)

Это значение dateTime можно передать в Qt.formatDateTime(), Qt.formatDate() или Qt.formatTime() со значениями format ниже, чтобы получить следующие результаты:

Формат Результат
"дд.мм.гггг" 21.05.2001
"сб мая 21 01" Вт мая 21 01
"чч:мм:сс.ззз" 14:13:09.042
"ч:м:с пп" 2:13:9 пп

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

строка formatTime(дата time, вариант format)

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

Параметр time может быть объектом JavaScript Date, значением QTime или QDateTime.

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

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

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

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

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

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

Этот QML-метод был представлен в Qt 5.5.

объект include(строка url, jsobject callback)

Включает другой файл JavaScript. Этот метод можно использовать только изнутри файлов JavaScript, а не обычных файлов QML.

Импортирует все функции из url в пространство имён текущего скрипта.

Qt.include() возвращает объект, описывающий состояние операции. Объект имеет единственное свойство, status, которое устанавливается в одно из следующих значений:

Символ Значение Описание
result.OK 0 Включение выполнено успешно.
result.LOADING 1 Данные загружаются из сети.
result.NETWORK_ERROR 2 Произошла ошибка сети при получении url.
result.EXCEPTION 3 Произошла ошибка JavaScript при выполнении включённого кода. В этом случае будет установлено дополнительное свойство exception.

Свойство status будет обновляться по мере выполнения операции.

Если указан, callback вызывается по завершении операции. В качестве аргумента callback передаётся тот же объект, что и возвращается из вызова Qt.include().

bool isQtObject(object)

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

color lighter(color baseColor, real factor)

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

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

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

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

locale(name)

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

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

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

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

string md5(data)

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

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)

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

bool openUrlExternally(url target)

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

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

point point(int x, int y)

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

string qsTr(string sourceText, string disambiguation, int n)

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

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

Пример:

Text { text: qsTr("hello") }

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

string qsTrId(string id, int 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.

string qsTrIdNoOp(string 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.

string qsTrNoOp(string sourceText, string 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.

string qsTranslate(string context, string sourceText, string disambiguation, int n)

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

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

Пример:

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

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

string qsTranslateNoOp(string context, string sourceText, string 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(real scalar, real x, real y, real z)

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

quit()

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

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

Возвращает rect с верхним левым углом в x, y и указанными width и height.

Возвращаемый объект имеет атрибуты x, y, width и height с заданными значениями.

url resolvedUrl(url url)

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

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

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

size(int width, int height)

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

color tint(color baseColor, color 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")
    }
}

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

vector2d(real x, real y)

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

vector3d(real x, real y, real z)

Возвращает Vector3D с указанными x, y и z.

vector4d(real x, real y, real z, real w)

Возвращает Vector4D с указанными x, y, z и w.

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

Spec-Zone.ru

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