2016-06-28 22 views
5

Desidero utilizzare un carattere personalizzato in un'applicazione QML e, per non doverlo specificare in ogni campo di testo, utilizzo un componente come suggerito in this answer.Errore QML "Componente sconosciuto. (M300)" ma il codice funziona

Ho una DefaultText.qml sotto un prefisso styles nel mio qml.qrc, che risiede nella cartella styles.

import QtQuick 2.0 

Text { 
    color: "black" 
    font.family: myCustomFont.name 
    font.bold: false 
    font.italic: false 
    font.pixelSize: 14 
} 

lo uso, tra l'altro, in un QML nome PanelRight.qml, sotto il prefisso Panels nella cartella widgets. È tutto sotto lo stesso qml.qrc.

import "qrc:/styles/styles" 

Item 
{ 
    // ... 
    DefaultText { text: "xyz" } 
} 

È interessante notare che, DefaultText è sottolineato come un errore, con il messaggio "componente sconosciuta. (M300)". Tuttavia, posso compilare ed eseguire correttamente la mia applicazione e il carattere personalizzato è visualizzato correttamente. Tuttavia, è fastidioso avere una lunga lista di errori (ho intenzione di usarlo in molti posti) e il completamento automatico non funziona.

Ho cercato nei forum Qt, questo problema è stato menzionato in caso di plug-in personalizzati, che non uso.

risposta

5

Aggiungi percorso relativo di DefaultText.qml in PanelRight.qml file come

import "../styles" 
Problemi correlati