FontLoader. How it work?

  • I have custom font
    I load this font in FontLoader (for example in MyForm.qml)
    I create new QML document and use my custom font . (MySecondForm.qml)

    If I load my font in MyForm.qml his available using in MySecondForm?
    FontLoader loaded font in global environment?

  • You can use a singleton to make it available globally.

  • In your cpp file before loading the QML entry file you can just call QFontDatabase and add it. I'm going to assume the font isn't being downloaded from the internet (using a URL in the FontLoader)

    #include <QFontDatabase>
    QFontDatabase fontDB;
    // load QML main file
    // now you can just call the font globally on any QML file. 
    Text { "Source Sans Pro" 
    text: "Hello world"

    That's how I've done it, it's been working pretty well.

  • I like the global singleton approach, too. An example would be:

    In a directory called "fonts", Fonts.qml:

    pragma Singleton
           import QtQuick 2.5
    QtObject {
        property FontLoader applicationFont: FontLoader {
            source: "OpenSans-Regular.ttf"

    In a qmldir file in the "fonts" folder:

    singleton Fonts Fonts.qml

    Then, in your QML files you can use it as follows:

    import "fonts"
    Label {

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.