2016-02-26 1 views
0

Je souhaite importer mon type MyType personnalisé de mytypes de sous-répertoire dans mon fichier main.qml. Qui est également dans le même répertoire avec le dossier mytypes. J'ai utilisé cette page de documentation comme référence. http://doc.qt.io/qt-5/qtqml-syntax-directoryimports.htmlImportation de répertoires de documents QML

Je l'utilise comme suit:

import "mytypes" 

MyType { 

} 

Dans le code, MyType est reconnu et mis en évidence comme d'habitude. Cependant, quand je lance l'application, je reçois l'erreur suivante:

qrc:/main.qml:5:1: "mytypes": no such directory 

Et mon dossier .qrc ressemble à ça:

<RCC> 
<qresource prefix="/"> 
    <file>main.qml</file> 
</qresource> 
<qresource prefix="/mytypes"> 
    <file>mytypes/MyType.qml</file> 
</qresource> 
</RCC> 

Alors, où est l'erreur? Dois-je également apporter des modifications au fichier .pro?

Répondre

1

Le fichier qrc

<qresource prefix="/mytypes"> 
    <file>mytypes/MyType.qml</file> 
</qresource> 

dit mytypes/MyType.qml est sous le préfixe /mytypes. Par conséquent, la déclaration d'importation main.qml devrait inclure ce préfixe:

import "mytypes/mytypes" 

MyType { } 

Ou, supprimer le préfixe /mytypes et déplacer mytypes/MyType.qml sous préfixe / dans le fichier qrc:

<RCC> 
    <qresource prefix="/"> 
     <file>main.qml</file> 
     <file>mytypes/MyType.qml</file> 
    </qresource> 
</RCC> 

et main.qml peut importer le type directement:

import "mytypes" 

MyType { }