2013-02-23 26 views
7

Tôi đang cố gắng sử dụng phần tử FontLoader được tích hợp sẵn của QML để tải phông chữ tùy chỉnh cho ứng dụng của chúng tôi mà không thành công.QML FontLoader không hoạt động

Tôi đã thử sử dụng cả phông chữ OTF và TTF với kết quả giống nhau.

Phông chữ nằm trong cùng thư mục với tệp dự án. Chỉ có một QML, một trong những chính nơi mà FontLoader này sống.

Đây là những gì nó sẽ giống như thế:

sample screenshot

Đây là mã của tôi:

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

Được rồi, vì vậy nó có vẻ rằng việc sử dụng đơn kiểu như Bebas Neue hoạt động ok. Vấn đề là chúng ta cần phải sử dụng Helvetica Neue LT Pro có nhiều kiểu phụ khác nhau: http://puu.sh/27fq9/e42b7c3004 Làm cách nào để chỉ định thứ tôi muốn? – Andrew

+0

Tại printscreent tôi thấy tập tin .otf – progpow

+2

Tôi đã giải quyết điều này một thời gian dài trước đây nhưng quên đăng lại. Đối với một số lý do QML chỉ không giống như một số tập tin phông chữ. Chúng sẽ hoạt động tốt trong các ứng dụng khác, trên web, v.v., nhưng sẽ không hiển thị ở tất cả trong QML. Tôi đã không bao giờ có thể tìm ra lý do tại sao nhưng tôi đã quản lý để tìm một gói font hoạt động. Chỉ là thử và sai. – Andrew

Trả lời

4

Tôi đã có headaches với việc xử lý phông chữ Qt/QML của. Phông chữ có "phong cách phụ khác nhau" dường như là fundamental problem. Khi tôi hoàn toàn cần thiết để có được một phong cách phông chữ vấn đề cụ thể trong Qt, tạo ra một custom version with fontforge của phông chữ mà phong cách mong muốn được đổi tên thành "bình thường" dường như hoạt động.

+0

Thanks @timday hoạt động tốt – Haselnussstrauch

0

Tôi cũng đã hết hạn vấn đề đó, nhưng trong trường hợp của tôi, đó là vì tôi đã thêm thuộc tính "tên". Khi tôi xóa tên font bắt đầu hiển thị.

1

FontLoader chỉ đơn giản là hoạt động tốt với tôi

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

see here for more