2016-06-28 45 views
5

Bir QML uygulamasında özel bir yazı tipi kullanmak istiyorum ve her metin alanında belirtmek zorunda kalmamak için, this answer içinde önerildiği gibi bir bileşen kullanıyorum. QML hatası "Bilinmeyen bileşen. (M300)" ancak kod çalışıyor

Ben klasöründe styles ikamet benim qml.qrc, bir styles öneki altında DefaultText.qml var.

import QtQuick 2.0 

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

Ben klasöründe widgets yılında önek Panels altında PanelRight.qml adlı bir QML içinde, diğer yerler arasında, onu kullanın. Hepsi aynı qml.qrc'un altında.

import "qrc:/styles/styles" 

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

İlginç bir şekilde, DefaultText mesaj ile, bir hata olarak altı çizili "Bilinmeyen bileşen. (M300)". Ancak, uygulamamı başarılı bir şekilde derleyip çalıştırabilir ve özel yazı tipi doğru şekilde görüntülenebilir. Ancak, hataların uzun bir listesini (çok fazla yerde kullanmayı düşünüyorum) ve bu otomatik tamamlamanın çalışmadığı rahatsız edici.

Qt forumlarını araştırdım, kullanmadığım özel eklentiler söz konusu olduğunda bu sorundan bahsedildi.

cevap

5

import "../styles" 
olarak PanelRight.qml dosyada DefaultText.qml göreli yolunu ekleyin