En esta página

Tipo incompatible

Esta categoría de advertencia se escribe [incompatible-type] por qmllint.

No se puede asignar a la propiedad por defecto de tipo incompatible

¿Qué ha ocurrido?

Has asignado un objeto a una propiedad por defecto de un tipo incompatible.

¿Por qué es malo?

El motor QML no podrá asignar el objeto en tiempo de ejecución.

Ejemplo

import QtQuick

Item {
    component MyType: QtObject {
        default property list<Item> myDefaultProperty
    }

    MyType {
        QtObject {} // note: QtObject does not inherit from Item
    }
}

Para solucionar este problema, asigne un tipo compatible a la propiedad o, si es el autor de la propiedad por defecto, cambie el tipo en la definición:

import QtQuick

Item {
    component MyType: QtObject {
        default property list<Item> myDefaultProperty
    }

    MyType {
        Item {}
    }

    component AlternativeMyType: QtObject {
        default property list<QtObject> myDefaultProperty
    }

    AlternativeMyType {
        QtObject {} // is ok for AlternativeMyType
    }
}

On-binding for property has wrong type

¿Qué ha ocurrido?

Ha utilizado un tipo de modificador de propiedad no válido.

¿Por qué es malo?

El motor QML no podrá utilizar el tipo de modificador de propiedad en tiempo de ejecución.

Ejemplo

import QtQuick

Item {
    property int xxx
    Item on xxx { ... }
}

Para corregir esta advertencia, elimine on o utilice un tipo de modificador de propiedad válido:

import QtQuick

Item {
    property int xxx
    Item { ... }

    // Alternative: use a valid property modifier type
    NumberAnimation on xxx { ... }
}

Construction from string is deprecated; Use structured value type construction instead

¿Qué ha ocurrido?

Has construido un QML_STRUCTURED_VALUE utilizando una cadena.

¿Por qué es malo?

Está obsoleto y es propenso a errores tipográficos.

Ejemplo

import QtQuick

Item {
    property point p: "5, 6"
}

Para corregir esta advertencia, rellene el tipo de valor estructurado como se explica en la descripción de QML_STRUCTURED_VALUE en lugar de vincular una cadena a la propiedad:

import QtQuick

Item {
    property point p: ({ x: 5, y: 6 })
}

Función sin anotación de tipo de retorno devuelve

¿Qué ha ocurrido?

Ha devuelto un valor de una función sin anotación de tipo de retorno.

¿Por qué es malo?

Anotó la función para que no devolviera nada, por lo que la función no debería devolver nada. Las herramientas QML no podrán procesar el método y el motor QML ignorará el valor devuelto en una futura versión de Qt.

Ejemplo

import QtQuick

Item {
    function f(x: int) {
        ...
        return x
    }
}

Para solucionar esta advertencia, adapte la firma de la función al nuevo tipo de retorno o elimine el valor de retorno:

import QtQuick

Item {
    function f(x: int): int {
        ...
        return x
    }
    function alternativeF(x: int) {
        ...
        return
    }
}

No se puede asignar enlace/objeto/literal

¿Qué ha ocurrido?

Ha asignado un objeto, literal o expresión a una propiedad de un tipo incompatible.

¿Por qué es malo?

El motor QML no podrá asignar el objeto, literal o expresión en tiempo de ejecución.

Ejemplo

import QtQuick

Item {
    property date xxx: 42
}

Para corregir esta advertencia, vincule un objeto, valor o expresión de un tipo compatible:

import QtQuick

Item {
    property date xxx: new Date()
}

© 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.