Тип Qt QML
Предоставляет глобальный объект с полезными перечислениями и функциями из Qt. Подробнее...
| Заявление об импорте: | import QtQml 2.2 |
Свойства
- application : object
- inputMethod : object
- platform : object
- styleHints : object
Методы
- строка atob(данные)
- binding(функция)
- строка btoa(данные)
- callLater(функция, аргумент1, аргумент2, ...)
- callLater(функция)
- цвет colorEqual(цвет lhs, строка rhs)
- объект createComponent(url, режим, родитель)
- объект createQmlObject(строка qml, объект родитель, строка путь_к_файлу)
- цвет darker(цвет baseColor, вещественное factor)
- exit(целое retCode)
- font(объект fontSpecifier)
- список<строка> fontFamilies()
- строка formatDate(дата date, переменная формат)
- строка formatDateTime(дата_время dateTime, переменная формат)
- строка formatTime(время time, переменная формат)
- цвет hsla(вещественное hue, вещественное saturation, вещественное lightness, вещественное alpha)
- цвет hsva(вещественное hue, вещественное saturation, вещественное value, вещественное alpha)
- объект include(строка url, jsobject callback)
- логическое isQtObject(объект)
- цвет lighter(цвет baseColor, вещественное factor)
- locale(имя)
- строка md5(данные)
- 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(вещественное scalar, вещественное x, вещественное y, вещественное z)
- quit()
- прямоугольник rect(целое x, целое y, целое ширина, целое высота)
- url resolvedUrl(url url)
- цвет rgba(вещественное red, вещественное green, вещественное blue, вещественное alpha)
- size(целое ширина, целое высота)
- цвет 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. Например, вы можете получить значения перечисления 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, переменная формат)
- строка Qt.formatDate(дата date, переменная формат)
- строка Qt.formatTime(время date, переменная формат)
Спецификация формата описана в 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 |
Это свойство только для чтения, которое указывает текущее состояние приложения. Возможные значения:
|
application.layoutDirection |
Это свойство только для чтения, которое можно использовать для запроса направления макета приложения по умолчанию. При запуске системы направление макета по умолчанию зависит от языка приложения. Свойство имеет значение Qt.RightToLeft в языковых настройках, где текст и графические элементы читаются справа налево, и Qt.LeftToRight в языковых настройках, где направление чтения слева направо. Вы можете привязаться к этому свойству, чтобы настроить макеты своего приложения для поддержки обоих направлений макета.Возможные значения:
|
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
Это свойство QML было добавлено в Qt 5.1.
См. также Screen, Window и Window.screen.
inputMethod : object
Объект inputMethod предоставляет доступ к объекту QInputMethod приложения и всем его свойствам и слотам. Для получения дополнительной информации см. документацию по QInputMethod.
Это свойство QML было добавлено в Qt 5.0.
platform : object
Объект platform предоставляет информацию об основной платформе.
Его свойства:
platform.os |
Это свойство только для чтения, которое содержит имя операционной системы. Возможные значения:
|
Это свойство 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.
Документация по методам
строка atob(данные)
ASCII в двоичный - эта функция декодирует строку данные, закодированную в base64, и возвращает её.
binding(функция)
Возвращает объект 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.
строка btoa(данные)
Двоичный в ASCII - эта функция возвращает кодировку base64 data.
callLater(функция, аргумент1, аргумент2, ...)
Используйте эту функцию, чтобы исключить избыточные вызовы функции или сигнала.
Переданная в качестве первого аргумента функция 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.
callLater(функция)
Используйте эту функцию, чтобы исключить избыточные вызовы функции или сигнала.
Функция, переданная в качестве первого аргумента в 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.
цвет colorEqual(цвет lhs, строка rhs)
Возвращает true, если оба lhs и rhs дают равные значения цвета. Оба аргумента могут быть либо значениями цвета, либо строковыми значениями. Если предоставлено строковое значение, оно должно быть конвертируемо в цвет, как описано для базового типа цвет.
объект createComponent(url, mode, parent)
Возвращает объект Component, созданный с помощью файла QML по указанному url, или null если была передана пустая строка.
Свойство Component::status возвращаемого компонента указывает, был ли компонент успешно создан. Если статус Component.Error, см. Component::errorString() для описания ошибки.
Если необязательный параметр mode установлен в Component.Asynchronous, компонент будет загружен в фоновом потоке. Свойство Component::status будет Component.Loading во время загрузки. Статус изменится на Component.Ready если компонент загрузится успешно, или на Component.Error если загрузка завершится неудачно. По умолчанию этот параметр Component.PreferSynchronous если не указан.
Если mode установлен в Component.PreferSynchronous, Qt попытается загрузить компонент синхронно, но может в конечном итоге загрузить его асинхронно, если это необходимо. Ситуации, которые могут привести к асинхронной загрузке, включают, но не ограничиваются ими:
- URL ссылается на сетевой ресурс
- Компонент создаётся в результате загрузки другого компонента асинхронно
Если необязательный параметр parent указан, он должен ссылаться на объект, который станет родителем созданного объекта Component. Если режим не был передан, это может быть второй аргумент.
Вызовите Component.createObject() для возвращаемого компонента, чтобы создать экземпляр объекта компонента.
Например:
import QtQuick 2.0
Item {
id: container
width: 300; height: 300
function loadButton() {
var component = Qt.createComponent("Button.qml");
if (component.status == Component.Ready) {
var button = component.createObject(container);
button.color = "red";
}
}
Component.onCompleted: loadButton()
} Дополнительную информацию об использовании этой функции см. в разделе Динамическое создание QML объектов из JavaScript.
Чтобы создать объект QML из произвольной строки QML (вместо файла), используйте Qt.createQmlObject().
объект createQmlObject(строка qml, объект parent, строка filepath)
Возвращает новый объект, созданный из указанной строки qml, который будет иметь указанный parent, или null если произошла ошибка при создании объекта.
Если filepath указан, он будет использован для отчёта об ошибке для созданного объекта.
Пример (где parentItem - id существующего элемента QML):
var newObject = Qt.createQmlObject('import QtQuick 2.0; Rectangle {color: "red"; width: 20; height: 20}',
parentItem,
"dynamicSnippet1"); В случае ошибки генерируется объект ошибки Qt Script. Этот объект имеет дополнительное свойство, qmlErrors, которое является массивом обнаруженных ошибок. Каждый объект в этом массиве имеет члены lineNumber, columnNumber, fileName и message. Например, если в вышеприведённом фрагменте цвет был неправильно написан как 'colro', то массив будет содержать объект следующего вида: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Cannot assign to non-existent property "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). В QML prototyping with qmlscene это вызывает выход приложения-запуска с указанным кодом возврата. Для выхода из цикла событий с указанным кодом возврата при вызове этого метода приложение на C++ может подключить сигнал QQmlEngine::exit(int) к слоту QCoreApplication::exit(int).
См. такжеquit().
font(объект fontSpecifier)
Возвращает шрифт с свойствами, указанными в объекте fontSpecifier или ближайшем соответствующем шрифте. Объект fontSpecifier должен содержать пары ключ-значение, где допустимыми ключами являются имена подсвойств типа шрифт, а значениями — допустимые значения для каждого подсвойства. Недопустимые ключи будут проигнорированы.
список<строка> fontFamilies()
Возвращает список доступных в приложении семейств шрифтов.
строка formatDate(дата date, переменная format)
Возвращает строковое представление date, необязательно отформатированное в соответствии с format.
Параметр date может быть объектом JavaScript Date, свойством дата, значением QDate или QDateTime.
Параметр format может быть любым из возможных значений формата, как описано для Qt.formatDateTime().
Если format не указан, date форматируется с помощью Qt.DefaultLocaleShortDate.
См. такжеЛокали.
строка formatDateTime(дата-время dateTime, переменная format)
Возвращает строковое представление datetime, необязательно отформатированное в соответствии с format.
Параметр date может быть объектом JavaScript 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 ниже для получения следующих результатов:
| Формат | Результат |
|---|---|
| "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(датавремя time, variant format)
Возвращает строковое представление time, необязательно отформатированное в соответствии с format.
Параметр time может быть JavaScript Date объектом, значением QTime или QDateTime. Параметр format может быть любым из возможных значений формата, как описано для Qt.formatDateTime().
Если 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, объект js 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().
логическое isQtObject(объект)
Возвращает true, если object является допустимой ссылкой на объект Qt или QML, в противном случае возвращает false.
цвет lighter(цвет baseColor, вещественное factor)
Возвращает цвет, более светлый, чем baseColor на указанный factor коэффициент.
Если коэффициент больше 1.0, функция возвращает более светлый цвет. Установка коэффициента в 1.5 возвращает цвет, который на 50% светлее. Если коэффициент меньше 1.0, возвращаемый цвет темнее, но для этой цели рекомендуется использовать функцию Qt.darker(). Если коэффициент равен 0 или меньше, возвращаемое значение не определено.
Функция преобразует текущий цвет RGB в HSV, умножает компонент значения (V) на коэффициент и преобразует цвет обратно в RGB.
Если factor не указан, возвращает цвет, на 50% светлее, чем baseColor (коэффициент 1.5).
locale(name)
Возвращает объект JS, представляющий локаль с указанным именем, имеющий формат "язык[_территория][.кодировка][@модификатор]" или "C", где:
- язык — это двухбуквенный, строчный код языка ISO 639,
- территория — это двухбуквенный, заглавный код страны ISO 3166,
- кодировка и модификатор игнорируются.
Если строка нарушает формат локали или язык не является допустимым кодом ISO 369, используется локаль "C". Если страна не указана или не является допустимым кодом ISO 3166, выбирается наиболее подходящая страна для указанного языка.
См. также Локали.
строка md5(данные)
Возвращает шестнадцатеричную строку хэш-значения md5 data.
matrix4x4(вещественное m11, вещественное m12, вещественное m13, вещественное m14, вещественное m21, вещественное m22, вещественное m23, вещественное m24, вещественное m31, вещественное m32, вещественное m33, вещественное m34, вещественное m41, вещественное m42, вещественное m43, вещественное m44)
Возвращает Matrix4x4 с указанными значениями. В качестве альтернативы, функция может быть вызвана с единственным аргументом, где этот аргумент — массив 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 используется в разных ролях в рамках одного контекста перевода, для 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 это вызывает выход приложения запускающего qmlscene; для выхода из приложения C++ при вызове этого метода, подключите сигнал QQmlEngine::quit() к слоту QCoreApplication::quit().
См. также exit().
прямоугольник rect(целое число x, целое число y, целое число width, целое число height)
Возвращает прямоугольник с верхним левым углом в x, y и указанной width и height.
Возвращаемый объект имеет x, y, width и height атрибуты со значениями, указанными в качестве параметров.
Возвращает url, разрешенный относительно URL вызывающей стороны.
цвет rgba(вещественный red, вещественный green, вещественный blue, вещественный alpha)
Возвращает цвет с указанными red, green, blue и alpha компонентами. Все компоненты должны быть в диапазоне от 0 до 1 включительно.
size(целое число width, целое число height)
Возвращает размер с указанной width и height.
цвет tint(цвет 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")
}
} Тон наиболее полезен, когда предполагается передать небольшое изменение из-за какого-либо события; вы можете затем использовать тонирование для более эффективной настройки видимого цвета.
vector2d(вещественный x, вещественный y)
Возвращает вектор2D со значением указанных x и y.
vector3d(вещественный x, вещественный y, вещественный z)
Возвращает вектор3D со значением указанных x, y и z.
vector4d(вещественный x, вещественный y, вещественный z, вещественный w)
Возвращает вектор4D со значением указанных x, y, z и w.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtqml-qt.html