En esta página

No cualificado

Esta categoría de advertencia se escribe [unqualified] por qmllint.

Acceso no cualificado

¿Qué ha ocurrido?

Has accedido a un elemento padre sin su id.

¿Por qué es malo?

Esto hace que el código sea más difícil de leer y dificulta el rendimiento.

Ejemplo

import QtQuick

Item {
    property int helloWorld
    Item {
        property int unqualifiedAccess: helloWorld + 1 // not ok: Unqualified access here.
    }
}

Para corregir esta advertencia, refiérase al objeto padre por su id. Tendrá que añadir un id primero si el objeto actualmente no tiene ninguno.

import QtQuick

Item {
    id: root
    property int helloWorld
    Item {
        property int unqualifiedAccess: root.helloWorld + 1 // ok: this access is qualified now!
    }
}

Alcance de propiedad adjunta/agrupada desconocido

¿Qué ha ocurrido?

Ha utilizado un tipo de propiedad adjunta o agrupada que no se puede encontrar. Esto puede deberse a un error tipográfico o a la falta de una dependencia de un módulo QML.

Nota: Si está importando módulos QML con dependencias externas, compruebe que están realmente instalados y dentro de una ruta de importación.

¿Por qué es malo?

Los componentes con ámbitos de propiedades adjuntas desconocidos o propiedades agrupadas desconocidas no se crearán en tiempo de ejecución: en su lugar serán nulos.

Ejemplo

Intentemos utilizar la propiedad adjunta (inexistente) de Item o la propiedad agrupada (inexistente) grouped de Item:

import QtQuick

Item {
    Item.helloAttached: 44 // not ok: unknown attached property scope Item. [unqualified]
    grouped.helloGrouped: 44 // not ok: unknown grouped property scope grouped. [unqualified]
}

En efecto, Item no tiene ningún tipo adjunto ni ninguna propiedad agrupada llamada item. Para corregir esta advertencia, elimine el tipo adjunto y la propiedad agrupada.

Consulte Propiedades adjuntas y manejadores de señal adjuntos para saber cómo utilizar las propiedades adjuntas y Propiedades agrupadas para saber cómo utilizar las propiedades agrupadas.

No se ha encontrado ninguna señal que coincida con el manejador

¿Qué ha ocurrido?

Ha utilizado un manejador de señal en una señal que no se puede encontrar. Esto puede deberse a un error tipográfico en el manejador de señal o a la falta de una dependencia de módulo QML.

Nota: el nombre de un manejador de señales es on concatenado con el nombre de la señal en mayúsculas. onHelloWorld maneja la señal helloWorld y on_helloWorld maneja _helloWorld, por ejemplo.

Nota: Si importa módulos QML con dependencias externas, compruebe que están realmente instalados y dentro de una ruta de importación.

¿Por qué es malo?

Los componentes con manejadores de señales desconocidos no se crearán en tiempo de ejecución: en su lugar serán nulos.

Ejemplo

Intentemos escribir un manejador de señales para la señal (inexistente) mySignal:

import QtQuick

Item {
    onMySignal: console.log("hello") // not ok: no matching signal found for handler "onMySignal" [unqualified]
}

Efectivamente, este Item no tiene ninguna señal llamada mySignal. Para corregir esta advertencia, elimine el manejador de señal o añada la señal que falta.

La definición implícita del manejador de señal en Conexiones está obsoleta.

¿Qué ha ocurrido?

Has utilizado un manejador de señal en un tipo Connections.

¿Por qué es malo?

Está obsoleto.

Ejemplo

import QtQuick

Window {
    id: root
    property int myInt

    Connections {
        target: root
        onMyIntChanged: console.log("new int", myInt)
    }
}

Para corregir esta advertencia, sustituya el enlace del manejador de señales por una función:

import QtQuick

Window {
    id: root
    property int myInt

    Connections {
        target: root
        function onMyIntChanged() { console.log("new int", myInt) }
    }
}

Véase también Convenciones de codificación QML - Acceso no cualificado.

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