Тип Qt QML
Предоставляет глобальный объект с полезными перечислениями и функциями из Qt. Подробнее...
| Заявление импорта: | import QtQml 2.12 |
Свойства
- application : объект
- inputMethod : объект
- platform : объект
- styleHints : объект
Методы
- строка atob(данные)
- binding(функция)
- строка btoa(данные)
- callLater(функция)
- callLater(функция, аргумент1, аргумент2, ...)
- цвет colorEqual(цвет lhs, строка rhs)
- объект createComponent(url, режим, родитель)
- объект createQmlObject(строка qml, объект родитель, строка filepath)
- цвет darker(цвет базовыйЦвет, вещественное число фактор)
- exit(целое число кодВозврата)
- font(объект спецификацияШрифта)
- список<строка> fontFamilies()
- строка formatDate(дата дата, вариант формат)
- строка formatDateTime(датаВремя датаВремя, вариант формат)
- строка formatTime(время время, вариант формат)
- цвет hsla(вещественное число оттенок, вещественное число насыщенность, вещественное число светлота, вещественное число альфа)
- цвет hsva(вещественное число оттенок, вещественное число насыщенность, вещественное число значение, вещественное число альфа)
- объект include(строка url, jsobject обратныйВызов)
- логическое значение isQtObject(объект)
- цвет lighter(цвет базовыйЦвет, вещественное число фактор)
- 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(строка исходныйТекст, строка разъяснение, целое число n)
- строка qsTrId(строка идентификатор, целое число n)
- строка qsTrIdNoOp(строка идентификатор)
- строка qsTrNoOp(строка исходныйТекст, строка разъяснение)
- строка qsTranslate(строка контекст, строка исходныйТекст, строка разъяснение, целое число n)
- строка qsTranslateNoOp(строка контекст, строка исходныйТекст, строка разъяснение)
- quaternion(вещественное число скаляр, вещественное число x, вещественное число y, вещественное число z)
- quit()
- прямоугольник rect(целое число x, целое число y, целое число ширина, целое число высота)
- url resolvedUrl(url url)
- цвет rgba(вещественное число красный, вещественное число зелёный, вещественное число синий, вещественное число альфа)
- size(целое число ширина, целое число высота)
- цвет tint(цвет базовыйЦвет, цвет оттенек)
- 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(датаВремя дата, вариант формат)
- строка Qt.formatDate(дата дата, вариант формат)
- строка Qt.formatTime(время время, вариант формат)
Спецификация формата описана в Qt.formatDateTime.
Динамическое создание объектов
Следующие функции глобального объекта позволяют динамически создавать элементы QML из файлов или строк. Смотрите Динамическое создание объектов QML из JavaScript для обзора их использования.
- объект Qt.createComponent(url)
- объект Qt.createQmlObject(строка qml, объект родитель, строка 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
Это свойство было введено в Qt 5.1.
См. также Screen, Window и Window.screen.
inputMethod : object
Объект inputMethod позволяет получить доступ к объекту QInputMethod приложения и ко всем его свойствам и слотам. Дополнительные сведения см. в документации QInputMethod.
Это свойство было введено в Qt 5.0.
platform : object
Объект platform предоставляет информацию об основной платформе.
Его свойства:
platform.os |
Это свойство только для чтения содержит имя операционной системы. Возможные значения: |
platform.pluginName |
Это имя платформы, заданное в экземпляре QGuiApplication, возвращаемое функцией QGuiApplication::platformName() |
Это свойство было введено в 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()
}
} Это свойство было введено в Qt 5.5.
Документация по методам
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(), будут переданы вызываемой функции. Обратите внимание, что если избыточные вызовы исключаются, то только последний набор аргументов будет передан функции.
Эта документация была введена в Qt 5.8.
строка atob(данные)
ASCII в двоичный — эта функция декодирует закодированную в base64 строку данные и возвращает её.
binding(function)
Возвращает объект JavaScript, представляющий привязку свойства.
Существует два основных случая использования этой функции: во-первых, для применения привязки свойства императивно из кода JavaScript:
Item {
property bool someCondition: true
property int edgePosition
Component.onCompleted: {
if (someCondition == true) {
// bind to the result of the binding expression passed to Qt.binding()
edgePosition = Qt.binding(function() { return x + width })
}
}
} и, во-вторых, для применения привязки свойства при инициализации значений свойств динамически созданных объектов (с помощью Component.createObject() или Loader.setSource()).
Например, предположим, что существует компонент DynamicText:
import QtQuick 2.0
Text {
id: textElement
width: 200
height: 200
text: "Default text"
property string dynamicText: "Dynamic text"
onTextChanged: console.log(text)
} выход из:
Item {
id: root
property string dynamicText: "Root text"
Component.onCompleted: {
var c = Qt.createComponent("DynamicText.qml")
var obj1 = c.createObject(root, { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
root.dynamicText = "Modified root text"
var obj2 = c.createObject(root, { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
obj2.dynamicText = "Modified dynamic text"
}
} и из:
Item {
id: root
property string dynamicText: "Root text"
Loader {
id: loaderOne
onLoaded: root.dynamicText = "Modified root text"
}
Loader {
id: loaderTwo
onLoaded: item.dynamicText = "Modified dynamic text"
}
Component.onCompleted: {
loaderOne.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
loaderTwo.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
}
} должен быть:
Root text extra text Modified root text extra text Dynamic text extra text Modified dynamic text extra text
Эта функция не может использоваться в объявлениях привязок свойств (см. документацию по объявлениям привязок и присваиваниям привязок), за исключением случаев, когда результат хранится в массиве, привязанном к свойству var.
Item {
width: 50
property var storedBindings: [ Qt.binding(function() { return x + width }) ] // stored
property int a: Qt.binding(function() { return x + width }) // error!
property int b
Component.onCompleted: {
b = storedBindings[0] // causes binding assignment
}
} Этот метод был введён в Qt 5.0.
строка btoa(данные)
Двоичный в ASCII — эта функция возвращает кодировку base64 data.
цвет 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 Error. Этот объект имеет дополнительное свойство, qmlErrors, которое представляет собой массив встреченных ошибок. Каждый объект в этом массиве имеет члены lineNumber, columnNumber, fileName и message. Например, если в приведенном фрагменте код цвета был написан как 'colro' вместо 'color', массив будет содержать объект, подобный следующему: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Невозможно присвоить несуществующему свойству \"colro\""}.
Обратите внимание, что эта функция возвращает значение немедленно и поэтому может не работать, если строка qml загружает новые компоненты (то есть внешние QML-файлы, которые еще не загружены). В этом случае рассмотрите использование Qt.createComponent() вместо этого.
См. Динамическое создание QML-объектов из JavaScript для получения дополнительной информации об использовании этой функции.
цвет darker(цвет baseColor, вещественное factor)
Возвращает цвет, более темный, чем baseColor на заданный factor.
Если коэффициент больше 1.0, функция возвращает более темный цвет. Установка коэффициента в 3.0 возвращает цвет, в три раза менее яркий. Если коэффициент меньше 1.0, возвращаемый цвет будет светлее, но для этой цели рекомендуется использовать функцию Qt.lighter(). Если коэффициент равен 0 или отрицателен, возвращаемое значение не определено.
Функция преобразует текущий цвет RGB в HSV, делит компонент значения (V) на коэффициент и преобразует цвет обратно в RGB.
Если factor не предоставлен, возвращается цвет, на 50% темнее, чем baseColor (коэффициент 2.0).
exit(целое retCode)
Эта функция вызывает эмиссию сигнала QQmlEngine::exit(int). В Прототипирование с qmlscene это заставляет приложение-запуска выходить с указанным кодом возврата. Для выхода из цикла событий с указанным кодом возврата при вызове этого метода приложение на C++ может подключить сигнал QQmlEngine::exit(int) к слоту QCoreApplication::exit(int).
См. такжеquit().
font(объект fontSpecifier)
Возвращает шрифт с свойствами, указанными в объекте fontSpecifier, или наиболее подходящий соответствующий шрифт. Объект fontSpecifier должен содержать пары ключ-значение, где допустимые ключи — имена подсвойств типа шрифт, а значения — допустимые значения для каждого подсвойства. Недопустимые ключи будут проигнорированы.
Возвращает список доступных шрифтов для приложения.
строка formatDate(дата date, значения format)
Возвращает строковое представление date, необязательно отформатированное в соответствии с format.
Параметр date может быть объектом JavaScript Date, свойством дата, значением QDate или QDateTime.
Параметр format может принимать любые возможные значения формата, как описано для Qt.formatDateTime().
Если format не указан, date форматируется с использованием Qt.DefaultLocaleShortDate.
См. также Локаль.
строка formatDateTime(дата-время dateTime, значения format)
Возвращает строковое представление datetime, необязательно отформатированное в соответствии с format.
Параметр dateTime может быть объектом 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 | полное локальное имя дня (например, 'Понедельник' до 'Воскресенье'). Используется QDate::longDayName(). |
| M | месяц как число без ведущего нуля (1–12) |
| MM | месяц как число с ведущим нулем (01–12) |
| MMM | сокращенное локальное имя месяца (например, 'Янв' до 'Дек'). Используется QDate::shortMonthName(). |
| MMMM | полное локальное имя месяца (например, 'Январь' до 'Декабрь'). Используется QDate::longMonthName(). |
| yy | год как двузначное число (00–99) |
| yyyy | год как четырехзначное число |
Кроме того, можно использовать следующие выражения для указания времени:
| Выражение | Вывод |
|---|---|
| h | час без ведущей нули (0 до 23 или 1 до 12 при отображении AM/PM) |
| hh | час с ведущей нулью (00 до 23 или 01 до 12 при отображении AM/PM) |
| m | минута без ведущей нули (0 до 59) |
| mm | минута с ведущей нулью (00 до 59) |
| s | секунда без ведущей нули (0 до 59) |
| ss | секунда с ведущей нулью (00 до 59) |
| z | миллисекунды без ведущих нулей (0 до 999) |
| zzz | миллисекунды с ведущими нулями (000 до 999) |
| AP | использовать отображение AM/PM. AP будет заменён на "AM" или "PM". |
| ap | использовать отображение am/pm. ap будет заменён на "am" или "pm". |
| t | включить индикатор часового пояса. |
Все остальные символы ввода будут проигнорированы. Любая последовательность символов, заключённых в одинарные кавычки, будет обрабатываться как текст и не будет использоваться в качестве выражения. Две последовательные одинарные кавычки ("''") заменяются одной кавычкой в выводе.
Например, если указано следующая дата/время:
// 21 May 2001 14:13:09 var dateTime = new Date(2001, 5, 21, 14, 13, 09)
Это значение dateTime можно передать в Qt.formatDateTime(), Qt.formatDate() или Qt.formatTime() со значениями format ниже, чтобы получить следующие результаты:
| Формат | Результат |
|---|---|
| "dd.MM.yyyy" | 21.05.2001 |
| "ddd MMMM d yy" | Вт Май 21 01 |
| "hh:mm:ss.zzz" | 14:13:09.042 |
| "h:m:s ap" | 2:13:9 пп |
См. также Локаль.
строка formatTime(datetime time, variant format)
Возвращает строковое представление 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 включительно.
Этот метод был введён в 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 вызывается по завершении операции. Функции обратного вызова передаётся тот же объект, что и возвращённый вызовом 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-адрес. Этот результат не будет сообщён обратно приложению.
Возвращает точку с указанными 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.
Помечает 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(). Внутри Prototyping with 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)
Возвращает Vector2D со значениями указанных x и y.
vector3d(вещественное x, вещественное y, вещественное z)
Возвращает Vector3D со значениями указанных x, y и z.
vector4d(вещественное x, вещественное y, вещественное z, вещественное w)
Возвращает Vector4D со значениями указанных x, y, z и w.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtqml-qt.html