En esta página

Qt QML Type

Proporciona un objeto global con enums y funciones útiles de Qt. Más...

Import Statement: import QtQml

Propiedades

Métodos

  • string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)
  • string QT_TRID_NOOP(string id)
  • string QT_TR_NOOP(string sourceText, string disambiguation)
  • color alpha(color baseColor, real value)
  • ArrayBuffer atob(ArrayBuffer data) (since 6.11)
  • var atob(var data) (since 6.11)
  • var binding(var function)
  • ArrayBuffer btoa(ArrayBuffer data) (since 6.11)
  • var btoa(var data) (since 6.11)
  • void callLater(function)
  • void callLater(function, argument1, argument2, ...)
  • color color(string name)
  • color colorEqual(color lhs, string rhs)
  • Component createComponent(url url, enumeration mode, QtObject parent)
  • Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent) (since 6.5)
  • object createQmlObject(string qml, object parent, url url)
  • color darker(color baseColor, real factor)
  • real enumStringToValue(enumType, keyName)
  • string enumValueToString(enumType, keyValue)
  • list<string> enumValueToStrings(enumType, keyValue)
  • void exit(int retCode)
  • font font(object fontSpecifier)
  • list<string> fontFamilies()
  • string formatDate(datetime date, variant format, variant localeFormatOption)
  • string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)
  • string formatTime(datetime time, variant format, variant localeFormatOption)
  • void gc()
  • color hsla(real hue, real saturation, real lightness, real alpha)
  • color hsva(real hue, real saturation, real value, real alpha)
  • bool isQtObject(object)
  • color lighter(color baseColor, real factor)
  • locale locale(name)
  • string md5(data)
  • matrix4x4 matrix4x4()
  • matrix4x4 matrix4x4(var values)
  • matrix4x4 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)
  • bool openUrlExternally(url target)
  • point point(real x, real y)
  • string qsTr(string sourceText, string disambiguation, int n)
  • string qsTrId(string id, int n)
  • string qsTranslate(string context, string sourceText, string disambiguation, int n)
  • quaternion quaternion(real scalar, real x, real y, real z)
  • void quit()
  • rect rect(real x, real y, real width, real height)
  • url resolvedUrl(url url)
  • url resolvedUrl(url url, object context)
  • color rgba(real red, real green, real blue, real alpha)
  • size size(real width, real height)
  • color tint(color baseColor, color tintColor)
  • url url(url url)
  • vector2d vector2d(real x, real y)
  • vector3d vector3d(real x, real y, real z)
  • vector4d vector4d(real x, real y, real z, real w)

Descripción detallada

Qt es un tipo singleton que proporciona funciones de utilidad, propiedades y enums. He aquí un ejemplo que muestra cómo utilizar este tipo:

import QtQuick 2.0

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

Enums

El objeto Qt contiene los enums disponibles en Qt Namespace. Por ejemplo, puede acceder a los valores de enumeración de Qt::LeftButton y Qt::RightButton como Qt.LeftButton y Qt.RightButton.

Tipos

El objeto Qt también contiene funciones de ayuda para crear objetos de tipos de datos específicos. Esto es útil principalmente al establecer las propiedades de un elemento cuando la propiedad tiene uno de los siguientes tipos:

Si se ha importado el módulo QtQuick, también están disponibles para los clientes las siguientes funciones de ayuda para crear objetos de tipos de datos específicos:

Formateadores de fecha y hora

El objeto Qt contiene varias funciones para dar formato a los valores QDateTime, QDate y QTime.

La especificación del formato se describe en Qt.formatDateTime.

Creación dinámica de objetos

Las siguientes funciones del objeto global permiten crear dinámicamente elementos QML a partir de archivos o cadenas. Consulte Creación dinámica de objetos QML a partir de JavaScript para obtener una descripción general de su uso.

Otras funciones

Las siguientes funciones también se encuentran en el objeto Qt.

Documentación de la propiedad

application : Application

El objeto application proporciona acceso a propiedades de estado de aplicación globales compartidas por muchos componentes QML.

Es el mismo que el singleton Application.

El siguiente ejemplo utiliza el objeto application para indicar si la aplicación está actualmente activa:

import QtQuick

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
    }
}

Nota: Si se utiliza QML sin QGuiApplication, las siguientes propiedades no estarán definidas:

  • application.active
  • application.state
  • application.layoutDirection
  • application.font

inputMethod : InputMethod

Es igual que el singleton InputMethod.

El objeto inputMethod permite acceder al objeto QInputMethod de la aplicación y a todas sus propiedades y ranuras. Consulte la documentación de QInputMethod para más detalles.

platform : object

El objeto platform proporciona información sobre la plataforma subyacente.

Sus propiedades son:

platform.osEsta propiedad de sólo lectura contiene el nombre del sistema operativo.

Los valores posibles son:

  • "android" - Android
  • "ios" - iOS
  • "tvos" - tvOS
  • "visionos" - visionOS
  • "linux" - Linux
  • "osx" - macOS
  • "qnx" - QNX (desde Qt 5.9.3)
  • "unix" - Otros SO basados en Unix
  • "windows" - Windows
  • "wasm" - WebAssembly

Nota: El valor de la propiedad en macOS es "osx", independientemente de la convención de nomenclatura de Apple. El valor devuelto se actualizará a "macos" para Qt 7.

platform.pluginNameEste es el nombre de la plataforma establecida en la instancia QGuiApplication devuelta por QGuiApplication::platformName()

styleHints : object

El objeto styleHints proporciona sugerencias y ajustes de estilo específicos de la plataforma. Consulte la documentación de QStyleHints para más detalles.

En su lugar, debería acceder a StyleHints a través de Application::styleHints, ya que proporciona mejor información de tipo para herramientas como el compiladorQt Quick .

Nota: El objeto styleHints sólo está disponible cuando se utiliza el módulo Qt Quick.

uiLanguage : string

La propiedad uiLanguage contiene el nombre del idioma que se utilizará para traducir las cadenas de la interfaz de usuario. Se expone en C++ como propiedad QJSEngine::uiLanguage.

Puede establecer el valor libremente y utilizarlo en los enlaces. Se recomienda establecerlo después de instalar los traductores en la aplicación. Por convención, una cadena vacía significa que no se pretende realizar ninguna traducción desde el idioma utilizado en el código fuente.

Si está utilizando QQmlApplicationEngine y el valor cambia, se llamará a QQmlEngine::retranslate().

Documentación del método

string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)

Marca sourceText para traducción dinámica en el context dado ; es decir, el sourceText almacenado no se alterará.

Si el mismo sourceText se utiliza en diferentes roles dentro del mismo contexto de traducción, se puede pasar una cadena de identificación adicional para disambiguation.

Devuelve el sourceText.

QT_TRANSLATE_NOOP se utiliza junto con las funciones de traducción dinámica qsTr() y qsTranslate(). Identifica una cadena que requiere traducción (para que pueda ser identificada por lupdate), pero deja la traducción real a las funciones dinámicas.

Ejemplo:

Item {
    property string greeting: QT_TRANSLATE_NOOP("CustomContext", "hello")

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

Véase también Internacionalización con Qt.

string QT_TRID_NOOP(string id)

Marca id para traducción dinámica.

Devuelve el id.

QT_TRID_NOOP se utiliza junto con la función de traducción dinámica qsTrId(). Identifica una cadena que requiere traducción (para que pueda ser identificada por lupdate), pero deja la traducción real a qsTrId().

Ejemplo:

Item {
    property string greetingId: QT_TRID_NOOP("hello_id")

    Text { text: qsTrId(greetingId) }
}

Véase también qsTrId() e Internacionalización con Qt.

string QT_TR_NOOP(string sourceText, string disambiguation)

Marca sourceText para traducción dinámica; es decir, el sourceText almacenado no se alterará.

Si se utiliza el mismo sourceText en diferentes funciones dentro del mismo contexto de traducción, se puede pasar una cadena de identificación adicional para disambiguation.

Devuelve el sourceText.

QT_TR_NOOP se utiliza junto con las funciones de traducción dinámica qsTr() y qsTranslate(). Identifica una cadena que requiere traducción (para que pueda ser identificada por lupdate), pero deja la traducción real a las funciones dinámicas.

Ejemplo:

Item {
    property string greeting: QT_TR_NOOP("hello")

    Text { text: qsTr(greeting) }
}

Véase también Internacionalización con Qt.

color alpha(color baseColor, real value)

Devuelve baseColor con un valor alfa de value.

value es un real que va de 0 (completamente transparente) a 1 (completamente opaco).

[since 6.11] ArrayBuffer atob(ArrayBuffer data)

ASCII a binario - esta función decodifica el data codificado en base64 y lo devuelve.

Puede pasar cualquier tipo de array como data, e intentará convertirlo en un array de bytes. En particular, esto funciona con una lista de números y una lista de cadenas de un solo carácter. Sin embargo, la forma más eficiente de hacerlo es pasando un objeto QByteArray o un ArrayBuffer de JavaScript.

Si la conversión falla y resulta que el data no tiene la forma esperada, se lanza una excepción Invalid Character y se devuelve un array vacío.

Este método se introdujo en Qt 6.11.

[since 6.11] var atob(var data)

ASCII a binario - esta función decodifica el data codificado en base64 y lo devuelve.

Esta es una función sobrecargada.

Este método se introdujo en Qt 6.11.

var binding(var function)

Devuelve un objeto JavaScript que representa un enlace de propiedad, con un function que evalúa el enlace.

Existen dos casos de uso principales para la función: en primer lugar, para aplicar un enlace de propiedad imperativamente desde código 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 })
        }
    }
}

y en segundo lugar, para aplicar un enlace de propiedad al inicializar valores de propiedad de objetos construidos dinámicamente (mediante Component.createObject() o Loader.setSource()).

Por ejemplo, suponiendo la existencia de un componente DynamicText:

import QtQuick

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

la salida de:

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"
    }
}

y de:

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' }) })
    }
}

deben ser ambos:

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

Esta función no puede utilizarse en declaraciones de vinculación de propiedades (véase la documentación sobre declaraciones de vinculación y asignaciones de vinculación) excepto cuando el resultado se almacena en una matriz vinculada a una propiedad 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
    }
}

[since 6.11] ArrayBuffer btoa(ArrayBuffer data)

Binary to ASCII - esta función devuelve una codificación base64 de data.

Puede pasar cualquier tipo de matriz como data, e intentará convertirla en una matriz de bytes. En concreto, funciona con una lista de números y una lista de cadenas de un carácter. Sin embargo, la forma más eficiente de hacerlo es pasando un objeto QByteArray o un ArrayBuffer de JavaScript.

Si la conversión falla y resulta que el data no tiene la forma esperada, se lanza una excepción Invalid Character y se devuelve un array vacío.

Este método se introdujo en Qt 6.11.

[since 6.11] var btoa(var data)

Binary to ASCII - esta función devuelve una codificación base64 de data.

Se trata de una función sobrecargada.

Este método se introdujo en Qt 6.11.

void callLater(function)

void callLater(function, argument1, argument2, ...)

Utilice esta función para eliminar llamadas redundantes a una función o señal.

La función pasada como primer argumento a Qt.callLater() se llamará más tarde, una vez que el motor QML vuelva al bucle de eventos.

Cuando esta función se llama varias veces en rápida sucesión con la misma función como primer argumento, esa función se llamará sólo una vez.

Por ejemplo:

import QtQuick

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" }
            }
        }
    }
}

Cualquier argumento adicional pasado a Qt.callLater() será pasado a la función invocada. Tenga en cuenta que si se eliminan las llamadas redundantes, sólo se pasará a la función el último conjunto de argumentos.

color color(string name)

Devuelve el color correspondiente al name dado (es decir, rojo o #ff0000). Si no existe tal color, se devuelve null.

color colorEqual(color lhs, string rhs)

Devuelve true si tanto lhs como rhs producen valores de color iguales. Ambos argumentos pueden ser valores de color o valores de cadena. Si se proporciona un valor de cadena, debe ser convertible a un color, como se describe para el tipo de valor color.

Component createComponent(url url, enumeration mode, QtObject parent)

Devuelve un objeto Component creado utilizando el archivo QML en el url especificado, o null si se ha dado una cadena vacía.

La propiedad Component::status del componente devuelto indica si el componente se ha creado correctamente. Si el estado es Component.Error, consulte Component::errorString() para obtener una descripción del error.

Si el parámetro opcional mode se establece en Component.Asynchronous, el componente se cargará en un subproceso en segundo plano. La propiedad Component::status será Component.Loading mientras se esté cargando. El estado cambiará a Component.Ready si el componente se carga correctamente, o a Component.Error si la carga falla. Si se omite este parámetro, el valor predeterminado es Component.PreferSynchronous.

Si mode se establece en Component.PreferSynchronous, Qt intentará cargar el componente de forma sincrónica, pero puede terminar cargándolo de forma asincrónica si es necesario. Los escenarios que pueden causar la carga asíncrona incluyen, pero no se limitan a, los siguientes:

  • La URL hace referencia a un recurso de red
  • El componente se crea como resultado de otro componente que se carga de forma asíncrona.

Si se proporciona el parámetro opcional parent, debe hacer referencia al objeto que se convertirá en el padre del objeto Component creado. Si no se ha pasado ningún modo, éste puede ser el segundo argumento.

Llame a Component.createObject() en el componente devuelto para crear una instancia de objeto del componente.

Por ejemplo:

import QtQuick

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()
}

Consulte Creación dinámica de objetos QML desde JavaScript para obtener más información sobre el uso de esta función.

Para crear un objeto QML a partir de una cadena arbitraria de QML (en lugar de un archivo), utilice Qt.createQmlObject().

[since 6.5] Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent)

Devuelve un objeto Component creado para el tipo especificado por moduleUri y typeName.

import QtQml
QtObject {
    id: root
    property Component myComponent: Qt.createComponent("QtQuick", "Rectangle", Component.Asynchronous, root)
}

Esta sobrecarga se comporta principalmente como la versión basada en url, pero puede utilizarse para instanciar tipos que no tienen una URL (por ejemplo, tipos C++ registrados mediante QML_ELEMENT).

Nota: En algunos casos, pasar Component.Asynchronous no tendrá ningún efecto:

  • El tipo está implementado en C
  • El tipo es un componente inline.

Si se pasa el parámetro opcional parent, debe referirse al objeto que se convertirá en el padre para el objeto Component creado. Si no se pasó ningún modo, éste puede ser el segundo argumento.

Se trata de una función sobrecargada.

Este método se introdujo en Qt 6.5.

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

Compila la cadena qml dada en un componente y luego devuelve un nuevo objeto creado a partir de ese componente. El nuevo objeto tendrá el parent especificado. Devuelve null si hubo un error al crear el componente o el objeto.

Si se especifica url, se utilizará como URL del componente. Esto es útil para informar de errores.

Advertencia: El nuevo componente hará sombra a cualquier componente existente con la misma URL. No debe pasar la URL de un componente existente. En particular, si pasa la URL del archivo QML circundante, impedirá el acceso al componente circundante desde el nuevo.

Ejemplo (donde parentItem es el id de un elemento QML existente):

const newObject = Qt.createQmlObject(`
    import QtQuick

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

En caso de error, se lanza un objeto QQmlError. Este objeto tiene una propiedad adicional, qmlErrors, que es una matriz de los errores encontrados. Cada objeto de esta matriz tiene los miembros lineNumber, columnNumber, fileName y message. Por ejemplo, si en el fragmento anterior se hubiera escrito mal color como 'colro', la matriz contendría un objeto como el siguiente: { "lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Cannot assign to non-existent property "colro""}.

Nota: Esta función devuelve inmediatamente, por lo que puede no funcionar si la cadena qml carga componentes nuevos (es decir, archivos QML externos que aún no se han cargado). Si este es el caso, considere utilizar Qt.createComponent() en su lugar.

Advertencia: Esta función es extremadamente lenta ya que tiene que compilar la cadena QML pasada cada vez que es invocada. Además, es muy fácil producir QML inválido cuando se construye código QML mediante programación. Es mucho mejor mantener los componentes QML como archivos separados y añadir propiedades y métodos para personalizar su comportamiento que producir nuevos componentes mediante la manipulación de cadenas.

Consulte Creación dinámica de objetos QML desde JavaScript para obtener más información sobre el uso de esta función.

color darker(color baseColor, real factor)

Devuelve un color más oscuro que baseColor por el factor proporcionado.

Si el factor es mayor que 1,0, esta función devuelve un color más oscuro. Si se establece el factor en 3,0, se devuelve un color que tiene un tercio del brillo. Si el factor es menor que 1.0, el color devuelto es más claro, pero recomendamos usar la función Qt.lighter() para este propósito. Si el factor es 0 o negativo, el valor de retorno no se especifica.

La función convierte el color RGB actual a HSV, divide el componente de valor (V) por el factor y vuelve a convertir el color a RGB.

Si no se proporciona factor, devuelve un color que es un 50% más oscuro que baseColor (factor 2,0).

real enumStringToValue(enumType, keyName)

Devuelve el valor numérico de la clave keyName en el enum enumType. Si no se puede encontrar el enum, se lanza un TypeError. Si la clave no es una entrada del enum, se lanza un ReferenceError.

string enumValueToString(enumType, keyValue)

Devuelve la representación de cadena de una clave del enum enumType que tiene el valor keyValue. Si no se puede encontrar el enum, se lanza un TypeError. Si el valor no coincide con ninguna clave del enum, se produce un error ReferenceError.

Nota: Si varias claves coinciden con el valor de keyValue, no se especifica cuál de las claves coincidentes se devolverá. En ese caso, utilice enumValueToStrings.

list<string> enumValueToStrings(enumType, keyValue)

Devuelve una lista de la representación de cadena de todas las claves del enum enumType que tienen el valor keyValue. Si no se puede encontrar el enum, se lanza un TypeError. Si ninguna clave del enum tiene el valor keyValue, se lanza un ReferenceError.

void exit(int retCode)

Esta función hace que se emita la señal QQmlEngine::exit(int). Dentro de la herramienta qml, esto hace que la aplicación de lanzamiento salga con el código de retorno especificado (retCode). Para salir del bucle de eventos con un código de retorno especificado cuando se llama a este método, una aplicación C++ puede conectar la señal QQmlEngine::exit(int) a la ranura QCoreApplication::exit(int).

Véase también quit().

font font(object fontSpecifier)

Devuelve una fuente con las propiedades especificadas en el objeto fontSpecifier o la fuente más parecida. El objeto fontSpecifier debe contener pares clave-valor donde las claves válidas son los nombres de las subpropiedades del tipo font, y los valores son valores válidos para cada subpropiedad. Las claves no válidas se ignorarán.

list<string> fontFamilies()

Devuelve una lista de las familias de fuentes disponibles para la aplicación.

string formatDate(datetime date, variant format, variant localeFormatOption)

Devuelve una representación de cadena de date, formateada opcionalmente utilizando format.

El parámetro date puede ser un objeto JavaScript Date, una propiedad date, un valor QDate o QDateTime. Los parámetros format y localeFormatOption pueden ser cualquiera de los posibles valores de formato descritos para Qt.formatDateTime().

Si no se especifica format, date se formatea con Locale.ShortFormat utilizando la configuración regional predeterminada.

Véase también Locale.

string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)

Devuelve una representación de cadena de dateTime, formateada opcionalmente utilizando format y localeFormatOption.

El parámetro dateTime puede ser un objeto JavaScript Date, una propiedad date, un valor QDate, QTime o QDateTime.

Si no se proporciona format, dateTime se formatea utilizando Locale.ShortFormat con la configuración regional predeterminada. En caso contrario, format debe ser

  • Uno de los valores de la enumeración Qt::DateFormat, como Qt.RFC2822Date o Qt.ISODate.
  • Una cadena que especifica el formato de la cadena devuelta, como se detalla a continuación.
  • Un objeto locale.

Si format especifica un objeto de configuración regional, dateTime se formatea con QLocale::toString. En este caso, localeFormatOption puede contener un valor de tipo QLocale::FormatType para ajustar aún más el formato. Si no se proporciona ninguno, se utiliza Locale.ShortFormat.

Si format especifica una cadena de formato, debe utilizar las siguientes expresiones para especificar la fecha:

ExpresiónSalida
del día como número sin cero inicial (1 a 31)
ddel día como número con un cero a la izquierda (01 a 31)
dddel nombre abreviado localizado del día (por ejemplo, de 'Lun' a 'Sol'). Utiliza QDate::shortDayName().
ddddel nombre largo localizado del día (p.e. 'Monday' a 'Qt::Sunday'). Utiliza QDate::longDayName().
Mel mes como número sin un cero a la izquierda (1-12)
MMel mes como número con un cero a la izquierda (01-12)
MMMel nombre abreviado localizado del mes (por ejemplo, de 'Ene' a 'Dic'). Utiliza QDate::shortMonthName().
MMMMel nombre largo localizado del mes (p.e. 'Enero' a 'Diciembre'). Utiliza QDate::longMonthName().
yyel año como número de dos dígitos (00-99)
aaaael año como número de cuatro dígitos

Además, se pueden utilizar las siguientes expresiones para especificar la hora:

ExpresiónSalida
hla hora sin cero inicial (de 0 a 23 o de 1 a 12 si se visualiza AM/PM)
hhla hora con un cero inicial (de 00 a 23 o de 01 a 12 si se visualiza AM/PM)
mel minuto sin cero inicial (0 a 59)
mmel minuto con un cero inicial (00 a 59)
ssegundo sin cero inicial (0 a 59)
ssel segundo con un cero inicial (00 a 59)
zlos milisegundos sin ceros a la izquierda (0 a 999)
zzzlos milisegundos con ceros a la izquierda (000 a 999)
APutilizar la visualización AM/PM. AP será sustituido por "AM" o "PM".
aputilizar visualización am/pm. ap se sustituirá por "am" o "pm".
tincluye un indicador de zona horaria.

Todos los demás caracteres introducidos serán ignorados. Cualquier secuencia de caracteres entre comillas simples se tratará como texto y no se utilizará como expresión. Dos comillas simples consecutivas ("''") se sustituyen por una comilla simple en la salida.

Por ejemplo, si se especificara el siguiente valor de fecha/hora:

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

Este valor dateTime podría pasarse a Qt.formatDateTime(), Qt.formatDate() o Qt.formatTime() con los valores format siguientes para producir los siguientes resultados:

FormatoResultado
"dd.MM.aaaa"21.05.2001
"ddd MMMM d aa"mar 21 mayo 01
"hh:mm:ss.zzz"14:13:09.042
"h:m:s ap"14:13:9

Véase también Locale.

string formatTime(datetime time, variant format, variant localeFormatOption)

Devuelve una representación de cadena de time, formateada opcionalmente utilizando format, y, si se proporciona, localeFormatOption.

El parámetro time puede ser un objeto JavaScript Date, un valor QTime, o QDateTime. Los parámetros format y localeFormatOption pueden ser cualquiera de los posibles valores de formato descritos para Qt.formatDateTime().

Si no se especifica format, time se formatea con Locale.ShortFormat utilizando la configuración regional predeterminada.

Véase también Locale.

void gc()

Ejecuta el recolector de basura.

Esto equivale a llamar a QJSEngine::collectGarbage().

Véase también Recolección de basura.

color hsla(real hue, real saturation, real lightness, real alpha)

Devuelve un color con los componentes hue, saturation, lightness, y alpha especificados. Todos los componentes deben estar en el rango 0-1 (inclusive).

color hsva(real hue, real saturation, real value, real alpha)

Devuelve un color con los componentes hue, saturation, value y alpha especificados. Todos los componentes deben estar en el rango 0-1 (inclusive).

bool isQtObject(object)

Devuelve true si object es una referencia válida a un objeto Qt o QML, false en caso contrario.

color lighter(color baseColor, real factor)

Devuelve un color más claro que baseColor por el factor proporcionado.

Si el factor es mayor que 1,0, esta función devuelve un color más claro. Si el factor es 1,5, devuelve un color un 50% más claro. Si el factor es menor que 1.0, el color devuelto es más oscuro, pero recomendamos utilizar la función Qt.darker() para este propósito. Si el factor es 0 o negativo, el valor de retorno no se especifica.

La función convierte el color RGB actual a HSV, multiplica el componente de valor (V) por el factor y vuelve a convertir el color a RGB.

Si no se proporciona factor, devuelve un color que es un 50% más claro que baseColor (factor 1,5).

locale locale(name)

Devuelve un objeto JS que representa la configuración regional con la dirección name especificada, que tiene el formato "idioma[_territorio][.conjunto_de_códigos][@modificador]" o "C", donde:

  • language es un código de idioma ISO 639 de dos letras en minúscula,
  • territory es un código de país ISO 3166 de dos letras en mayúscula, y
  • codeset y modifier se ignoran.

Si la cadena infringe el formato de configuración regional o el idioma no es un código ISO 369 válido, se utilizará la configuración regional "C" en su lugar. Si el país no está presente, o no es un código ISO 3166 válido, se elige el país más apropiado para el idioma especificado.

El objeto devuelto es un tipo QML anónimo respaldado por QLocale.

Véase también Locale.

string md5(data)

Devuelve una cadena hexadecimal del hash md5 de data.

matrix4x4 matrix4x4()

Devuelve una matriz identidad4x4.

matrix4x4 matrix4x4(var values)

Devuelve una matriz4x4 con la dirección values especificada. Se espera que values sea una matriz JavaScript con 16 entradas.

Los índices de la matriz corresponden a las posiciones en la matriz de la siguiente manera:

0123
4567
891011
12131415

matrix4x4 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)

Devuelve una matriz4x4 con los valores especificados.

Los argumentos corresponden a sus posiciones en la matriz:

m11m12m13m14
m21m22m23m24
m31m32m33m34
m41m42m43m44

bool openUrlExternally(url target)

Intenta abrir la url target especificada en una aplicación externa, basándose en las preferencias de escritorio del usuario. Devuelve true si tiene éxito, false en caso contrario.

Advertencia: Un valor de retorno de true indica que la aplicación ha solicitado con éxito al sistema operativo que abra la URL en una aplicación externa. Es posible que la aplicación externa no se inicie o no abra la URL solicitada. Este resultado no será reportado a la aplicación.

point point(real x, real y)

Devuelve un punto con las coordenadas x y y especificadas.

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

Devuelve una versión traducida de sourceText, opcionalmente basada en una cadena disambiguation y el valor de n para cadenas que contengan plurales; en caso contrario devuelve sourceText si no se dispone de una cadena traducida apropiada.

Ejemplos con sourceText y n:

    Text { text: qsTr("hello") }
    // Translates the source text into the correct
    // plural form and replaces %n with the value of total.
    Text {
        text: qsTr("%n message(s) saved", "", total)
    }

Si se utiliza el mismo sourceText en diferentes funciones dentro del mismo contexto de traducción, puede introducirse una cadena de identificación adicional para disambiguation. Para más información y ejemplos, consulte Desambiguar texto idéntico.

Véase también qsTranslate(), Internacionalización con Qt, y Escritura de código fuente para traducción.

string qsTrId(string id, int n)

Devuelve una cadena traducida identificada por id. Si no se encuentra ninguna cadena coincidente, se devuelve el propio id. Esto no debería ocurrir en condiciones normales.

Si n >= 0, todas las apariciones de %n en la cadena resultante se sustituyen por una representación decimal de n. Además, en función del valor de n, el texto traducido puede variar.

Ejemplo:

Text { text: qsTrId("hello_id") }

Es posible suministrar una plantilla de cadena de origen como:

//% <string>

    Text {
        //% "hello"
        text: qsTrId("hello_id")
    }

o

/*% <string> */

    Text {
        /*% "hello" */
        text: qsTrId("hello_id")
    }

Para crear archivos de traducción binaria (QM) adecuados para su uso con esta función es necesario pasar la opción -idbased a la herramienta lrelease.

Véase también QT_TRID_NOOP() e Internacionalización con Qt.

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

Devuelve una versión traducida de sourceText dentro de context, opcionalmente basada en una cadena disambiguation y el valor de n para cadenas que contengan plurales; en caso contrario, devuelve sourceText si no se dispone de una cadena traducida apropiada.

Si el mismo sourceText se utiliza en diferentes funciones dentro de la misma traducción context, se puede pasar una cadena de identificación adicional para disambiguation.

Ejemplo:

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

Utilícelo si tiene una traducción context que difiere del archivo context.

Véase también Internacionalización con Qt y qsTr().

quaternion quaternion(real scalar, real x, real y, real z)

Devuelve un cuaternión con los valores especificados scalar, x, y, y z.

void quit()

Esta función hace que se emita la señal QQmlEngine::quit(). Dentro de la herramienta qml, esto provoca la salida de la aplicación de lanzamiento; para salir de una aplicación C++ cuando se llama a este método, conecte la señal QQmlEngine::quit() a la ranura QCoreApplication::quit().

Véase también exit().

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

Devuelve un rectángulo con la esquina superior izquierda en x, y y las especificadas width y height.

url resolvedUrl(url url)

Devuelve url resuelto en relación con la URL del autor de la llamada.

Si no hay llamante o el llamante no está asociado a un contexto QML, devuelve url resuelto en relación con la URL base del motor QML. Si el motor QML no tiene URL base, sólo devuelve url.

Véase también url().

url resolvedUrl(url url, object context)

Devuelve url resuelto en relación con la URL del contexto QML de context. Si context no está asociado a un contexto QML, devuelve url resuelto en relación con la URL base del motor QML. Si el motor QML no tiene URL base, sólo devuelve url.

Véase también url().

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

Devuelve un color con los componentes red, green, blue, y alpha especificados. Todos los componentes deben estar en el rango 0-1 (inclusive).

size size(real width, real height)

Devuelve un tamaño con las direcciones width y height especificadas.

color tint(color baseColor, color tintColor)

Esta función permite teñir un color (baseColor) con otro (tintColor).

El color de matiz debe ser generalmente transparente, o no podrá ver el color subyacente. El siguiente ejemplo proporciona un ligero tinte rojo haciendo que el color del tinte sea rojo puro, que es sólo 1/16 opaco.

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

Representación en paralelo de un cuadrado azul acero claro y un cuadrado azul acero claro tintado

El matiz es más útil cuando se quiere transmitir un cambio sutil debido a algún acontecimiento; entonces puede utilizar el matiz para ajustar más eficazmente el color visible.

url url(url url)

Devuelve url literalmente. Esto puede usarse para forzar una coerción de tipo a url. En contraste con Qt.resolvedUrl() esto retiene cualquier URL relativa. Como las cadenas se convierten implícitamente en urls, la función puede invocarse con una cadena como argumento, y entonces devolverá una url.

Véase también resolvedUrl().

vector2d vector2d(real x, real y)

Devuelve un vector2d con los valores x y y especificados.

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

Devuelve un vector3d con los valores especificados x, y, y z.

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

Devuelve un vector4d con los valores especificados x, y, z, y w.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.