2013-02-23 18 views
7

Próbuję użyć wbudowanego elementu QLML FontLoader, aby wczytać niestandardową czcionkę do naszej aplikacji bez powodzenia.QML FontLoader nie działa

Próbowałem używać zarówno czcionek OTF i TTF z identycznymi wynikami.

Czcionki znajdują się w tym samym katalogu, co pliki projektu. Jest tylko jeden QML, główny, w którym znajduje się ten FontLoader.

To właśnie ona powinna wyglądać następująco:

sample screenshot

Oto mój kod:

import QtQuick 2.0 

Rectangle { 
    width: 360 
    height: 360 

    FontLoader { 
     id: cFontLoader 
     source: "./fontlol.ttf" 
    } 

    Text { 
     id: testText 
     anchors.centerIn: parent 
     text: "Hello Fonts!" 
     font.family: cFontLoader.name 
     font.pointSize: 32 
    } 
} 
+0

porządku, więc wydaje się, że za pomocą jednego stylu, takie jak Bebas Neue działa ok. Problem polega na tym, że musimy użyć Helvetica Neue LT Pro, która ma różne style podrzędne: http://puu.sh/27fq9/e42b7c3004 Jak określić, który chcę? – Andrew

+0

W printscreent widzę plik .otf – progpow

+2

Rozwiązałem to dawno temu, ale zapomniałem odesłać. Z jakiegoś powodu QML po prostu nie lubi niektórych plików czcionek. Będą działały dobrze w innych aplikacjach, Internecie itp., Ale nie będą renderować się w ogóle w QML. Nigdy nie byłem w stanie dowiedzieć się dlaczego, ale udało mi się znaleźć pakiet czcionek, który działał. Był tylko próbą i błędem. – Andrew

Odpowiedz

4

miałem headaches z obsługą czcionek QT/QML użytkownika. Czcionki z "różnymi stylami sub" wydają się być fundamental problem. Kiedy absolutnie potrzebowałem uzyskać jeden konkretny problemowy styl czcionki w Qt, tworzenie custom version with fontforge czcionki, w której pożądany styl został przemianowany na "normalny", wydawało się działać.

+0

Dzięki @timday to działa dobrze – Haselnussstrauch

0

Ja również doświadczyłem tego problemu, ale w moim przypadku było tak, ponieważ dodałem właściwość "nazwa". Kiedy usunę nazwę, zacznie się wyświetlać czcionka.

1

FontLoader prostu działa dobrze ze mną

FontLoader{id:fixedFont; name: "Digital-7"} 
Text { 
text:"Hello world" 
font.family: fixedFont.name 
} 

see here for more