FontLoader QML 类型

允许通过 URL 加载字体。 更多...

导入语句import QtQuick

属性

详细描述

FontLoader 类型用于通过 URL 加载字体。

状态 指示字体何时已加载,这在从远程来源加载字体时很有用。

例如

import QtQuick 2.0

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

    Text { text: "Fancy font"; font: webFont.font }
}

另请参阅 Qt Quick 示例 - 文本字体.

属性文档

font : font [只读,自 6.0]

此属性存储一个默认的加载字体的查询。

您可以使用它选择字体,如果需要其他属性(而不仅仅是家族名称)来消除歧义。

Item {
    width: 200; height: 50

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

您可以使用以下方式指定字体

Item {
    width: 200; height: 50

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

或直接设置完整的字体查询

在这种情况下,默认字体查询将不修改(例如,字体大小将是系统默认值)。


此属性是在 Qt 6.0 中引入的。

name : string [只读]

此属性存储字体家族的名称。

当使用 source 属性加载字体时,将自动设置此属性。

这等价于 FontLoaderfont 属性的家族属性。

Item {
    width: 200; height: 50

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

用作设置 Text 项的 font.family 属性。

source : url


加载字体的 URL。

status : enumeration [只读]

此属性存储字体加载的状态。它可以有多种状态:描述
FontLoader.Null没有设置字体
FontLoader.Ready已加载字体
FontLoader.Loading字体正在被加载
FontLoader.Error在加载字体时发生错误

使用此状态提供更新或以某种方式响应状态更改。例如,您可以

  • 触发状态更改
    State { name: 'loaded'; when: loader.status == FontLoader.Ready }
  • 实现 onStatusChanged 信号处理器
    FontLoader {
        id: loader
        onStatusChanged: if (loader.status == FontLoader.Ready) console.log('Loaded')
    }
  • 绑定到状态值
    Text { text: loader.status == FontLoader.Ready ? 'Loaded' : 'Not loaded' }

© 2024 Qt公司有限公司。本文档中包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的GNU自由文档许可第1.3版条款进行许可。GNU自由文档许可由自由软件基金会发布。Qt及其相应标志是芬兰及/或全球其他国家的Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。