Qt 5.9 | Qt Quick | QML Types | FontLoader QML Type

Qt 5.9.9 Reference Documentation

# FontLoader QML Type

Allows fonts to be loaded by name or URL More...

Import Statement: | import QtQuick 2.7

- List of all members, including inherited members

## Properties

- name : string
- source : url
- status : enumeration

## Detailed Description

The FontLoader type is used to load fonts by name or URL.

The status indicates when the font has been loaded, which is useful for fonts loaded from remote sources.

For example:

      import QtQuick 2.0

      Column {
          FontLoader { id: fixedFont; name: "Courier" }
          FontLoader { id: webFont; source: "http://www.mysite.com/myfont.ttf" }

          Text { text: "Fixed-size font"; font.family: fixedFont.name }
          Text { text: "Fancy font"; font.family: webFont.name }
      }

See also Qt Quick Examples - Text Fonts.

## Property Documentation

name : string

This property holds the name of the font family. It is set automatically when a font is loaded using the source property.

Use this to set the `font.family` property of a `Text` item.

Example:

      Item {
          width: 200; height: 50

          FontLoader {
              id: webFont
              source: "http://www.mysite.com/myfont.ttf"
          }
          Text {
              text: "Fancy font"
              font.family: webFont.name
          }
      }

source : url

The URL of the font to load.

status : enumeration

This property holds the status of font loading. It can be one of:

- FontLoader.Null - no font has been set
- FontLoader.Ready - the font has been loaded
- FontLoader.Loading - the font is currently being loaded
- FontLoader.Error - an error occurred while loading the font

Use this status to provide an update or respond to the status change in some way. For example, you could:

- Trigger a state change:

        State { name: 'loaded'; when: loader.status == FontLoader.Ready }

- Implement an `onStatusChanged` signal handler:

        FontLoader {
            id: loader
            onStatusChanged: if (loader.status == FontLoader.Ready) console.log('Loaded')
        }

- Bind to the status value:

        Text { text: loader.status == FontLoader.Ready ? 'Loaded' : 'Not loaded' }