es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Advertencia: solo en la vista de diseño, en la declaración de importación, utilizar el componente QML desde el archivo.

Tengo un archivo .qml con un componente dos pasos por encima en la ruta de mi proyecto porque quiero tener una carpeta de componentes por encima de muchos proyectos para que sean compartidos por algunos de ellos. Así que en mi main.qml hago lo siguiente:

import ‘qrc:/../../components’

Eso funciona y puedo usar mi componente qml del archivo. Sin embargo, en la vista de diseño, obtengo la advertencia:

encontrados imports no funcionales: … “qrc:/../../components”: no existe ese directorio

Muchas otras cosas que intenté hacen que el proyecto no compile o arroje errores en tiempo de ejecución.

Prueba 1: import “qrc:/” : error en tiempo de compilación: Componente desconocido. (M300). Tiene sentido ya que el componente está en una ruta anterior.

Prueba 2: import ‘./../../components’: error en tiempo de ejecución: import ” ./../../components” no tiene qmldir ni espacio de nombres.

También intenté poner un archivo qmldir en mi carpeta de componentes donde está mi componente con el texto “MyComponent MyComponent.qml”, según se explica en Importar directorios de documentos QML.

Además de la advertencia, todo funciona bien. El proyecto se compila, se ejecuta y los cambios en el componente se muestran cuando trabajo en la vista de diseño.

Información:
– El recurso del componente se agrega al archivo de recurso .qrc y el archivo existe (el proyecto funciona).
– Versión rápida de Qt QtQuick 2.9
– Qt Creator 4.15.2 Basado en Qt 5.15.2.

¿Cómo me deshago de la advertencia?

Edit: También intenté seguir los pasos de esta respuesta sin éxito.

Agregando el contenido de mi archivo .qrc:




../../components/MyComponent.qml

Captura de pantalla de la advertencia:

View post on imgur.com

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para deshacerse del aviso en la vista de diseño de Qt Creator, se pueden probar las siguientes soluciones:

    1. Agregar un archivo qmldir al directorio de componentes:

    Cree un archivo qmldir en el directorio de componentes y agregue la siguiente línea:

    MyComponent.qml
    

    Esto debería indicar a la vista de diseño de Qt Creator el nombre del componente a importar.

    1. Usar una ruta relativa en la declaración de importación:

    En lugar de usar una ruta relativa al directorio raíz, intente usar una ruta relativa a la ubicación del archivo main.qml. Por ejemplo:

    import "../components"
    

    Esto debería hacer que la declaración de importación funcione tanto en el proyecto como en la vista de diseño de Qt Creator.

    1. Ignorar la advertencia:

    Si el componente funciona bien y la advertencia es solo una molestia visual, puede optar por ignorarla haciendo clic derecho en la advertencia y seleccionando “Ignorar este error” o desactivándola en la configuración del editor.

Comments are closed.