2015-08-16 30 views
3

我從導入子目錄導入樣式文件時遇到問題。子目錄中的QML導入樣式文件

這是我的* .pro文件中的有關部分:

QML_IMPORT_PATH = \ 
src/gui/qml/views/startview/ \ 
src/gui/qml/views/createlocalgameview/ \ 
src/gui/qml/views/ \ 
src/gui/qml/components/styles/ \ 
src/gui/qml/components/ \ 
src/gui/qml/js/ 

例如,我有文件放在src/GUI/QML /組件/樣式文件MyTextFieldStyle.qml /:

TextFieldStyle { 
    [...] 
} 

和我有文件放在src/GUI/QML /組件文件TextArea.qml /:

Item { 
    [...] 
    TextField { 
     id: textField 
     style: MyTextFieldStyle {} 
    } 
    [...] 
} 

現在我得到這個錯誤:

TextArea.qml: MyTextFieldStyle is not a type 

如果我把MyTextFieldStyle.qml在同一目錄類似TextArea.qml(SRC/GUI/QML /組件/),它工作正常。但我有很多組件和很多款式,所以我想單獨讓他們有一個更好的概述。有什麼辦法可以讓這個工作?

+1

應該足夠在文件的頂部放置一個帶有相對路徑的'import'語句。在你的例子中,你可以使用'import'。/ styles''。讓我知道它是否有效,我可以創建一個響應,以便您可以接受它以備將來搜索。 – skypjack

+0

注意:這個QML_IMPORT_PATH * rap不會影響任何東西,除非可能是Creator突出顯示(surprize!):0 – mlvljr

+0

是的,您是對的。非常感謝你。請創建一個我可以接受的答案! – fhammer

回答

1

它應該足以把文件的頂部import語句與相對路徑。

在你的例子中,你可以使用import './styles'

正如評論中所述,QML_IMPORT_PATH並不是要解決這個問題。