2014-10-01 5 views
5

Programuję aplikację C++/qml. Ponieważ mam wiele plików qml, chciałem stworzyć strukturę katalogów. I już wdrożone w moim struktury systemu plików tak:Hierarchia qml z qrc

project 
    |- qml 
     |- main.qml 
     |- widgets 
      |- Button.qml 
      |- Label.qml 

Co ja teraz chce zrobić jest użycie QRC-prefiksów stworzyć dokładnie taką samą hierarchię:

main.qrc 
    /
     main.qml 
    /widgets 
     Button.qml 
     Label.qml 

To jest mój przykład qml- file:

import QtQuick 2.2 

import "widgets" 

Item { 
    id: window 
    width: 800 
    height: 480 

    Button { 
     id: button 
     anchors.centerIn parent 
     text: "click me" 
    } 
} 

Problem w tym, że kompilator nie zna przycisku!

EDIT:

Komunikat o błędzie: qrc: ///qml/main.qml: 4 "widgety": Nie ma takiego katalogu

+0

Czy możesz pokazać komunikat o błędzie z IDE QtCreator? – KimKulling

+0

@KimKulling Dodałem komunikat o błędzie do mojego pytania – SGbo

Odpowiedz

6

QML-interpreter próbuje załadować swój katalog w fałszywym miejscu (system plików zamiast pliku qrc). Spróbuj

import "qrc:/widgets" 

aby rozwiązać swój problem.

1

Upewnij się, że dodajesz katalogi do pliku qrc. Najprostszym sposobem na to jest kliknięcie prawym przyciskiem myszy na pliku "qml.qrc" w QtCreator i wybranie "Dodaj istniejący katalog". Następna podpowiedź powinna również pomóc interpreterowi QML znaleźć twoje pliki.