En esta página

Tipo no resuelto

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

Esta categoría contiene las siguientes advertencias:

  • Tipo utilizado pero no resuelto
  • No se ha encontrado el tipo para el tipo de retorno del método
  • No se ha encontrado el tipo de parámetro del método
  • La propiedad tiene un tipo incompleto; Es posible que falte una importación
  • No se ha encontrado el tipo de la propiedad; probablemente se deba a que falta una entrada de dependencia o a que el tipo no se expone de forma declarativa.
  • El tipo de propiedad no se ha resuelto completamente; es probable que falte una entrada de dependencia o que el tipo no se exponga de forma declarativa.
  • Tipo no encontrado en el espacio de nombres

Estas advertencias suelen indicar importaciones que faltan o módulos QML defectuosos, dependiendo de si estás utilizando o escribiendo un módulo QML.

Para usuarios de módulos QML

¿Qué ha ocurrido?

Ha utilizado un tipo que las herramientas QML no han encontrado. Suele indicar un posible error tipográfico, una importación que falta o rutas de importación mal configuradas.

¿Por qué es malo?

El tipo no puede ser encontrado por las herramientas QML, y muy probablemente tampoco por el motor QML.

Ejemplos

Error tipográfico

import QtQuick

Item { ... }

Para corregir esta advertencia, corrija la errata:

import QtQuick

Item { ... }

Falta la sentencia import

Item { ... }

Para corregir esta advertencia, importe el módulo que expone Item:

import QtQuick

Item { ... }

Si añadir la sentencia import no ayuda, revisa tus rutas de importación.

Si recibe esta advertencia a través de QML Language Server, es posible que su configuración esté incompleta.

Para los autores de módulos QML

¿Qué ha ocurrido?

La herramienta QML no puede encontrar un tipo en su módulo QML. Puede ser un tipo que expones a QML directa o indirectamente usándolo como un:

  • Tipo base
  • Tipo de propiedad
  • Tipo de parámetro de señal, ranura o Q_INVOKABLE
  • Q_INVOKABLE tipo de retorno

Puede que te falte un registro de tipo declarativo si el tipo no resuelto está expuesto por tu módulo.

De lo contrario, su módulo QML podría tener dependencias no declaradas con el módulo QML que expone el tipo no resuelto.

¿Por qué es malo?

Las herramientas QML no funcionarán con sus tipos y los usuarios de su módulo QML recibirán advertencias falsas que no podrán solucionar.

Ejemplos

Falta el registro del tipo

Consulte Definir tipos QML desde C++ para saber cómo registrar sus tipos de forma declarativa. Asegúrese de que todos los tipos y enums expuestos directa e indirectamente a QML están registrados.

Falta la dependencia del módulo QML

Sea MyItem un tipo C++ en su módulo QML:

class MyItem: public QQuickItem {
    ...
    QML_ELEMENT
    ...
    Q_PROPERTY(SomeType someProperty READ someProperty WRITE setSomeProperty NOTIFY somePropertyChanged)
    ...
}

La herramienta QML no puede resolver MyItem correctamente si no puede resolver QQuickItem o SomeType primero. Si QQuickItem se encuentra en el módulo QML QtQuick y SomeType en SomeModule, deberá indicar estas dependencias de C++ en la definición del módulo QML.

Para ello, añada las dependencias a la definición del módulo QML. Esto puede hacerse con DEPENDENCIES, por ejemplo:

qt_add_qml_module(
    ...
    DEPENDENCIES
        QtQuick # for QQuickItem to be resolved
        SomeModule # for SomeType to be resolved
)

Para obtener más información, consulte Declaración de dependencias C++ entre módulos QML.

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