Qt 使用iconfont【实战版】

iconfont

关于iconfont
阿里妈妈MUX倾力打造的矢量图标管理、交流平台。
设计师将图标上传到 iconfont 平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。
官网
www.iconfont.cn
根据需要添加图标到项目后进行下载操作
在这里插入图片描述
下载解压后得到如下内容
在这里插入图片描述
使用浏览器打开demo_index.html
在这里插入图片描述会看到所选图标对应的编号,待会儿后面会遇到!

Qt 使用iconfont

添加ttf到资源文件

在这里插入图片描述

导入字体

    QFontDatabase fontDb;
    if (!fontDb.families().contains("iconfont")) {
        int fontId = fontDb.addApplicationFont(":/font/iconfont.ttf");
        QStringList fontName = fontDb.applicationFontFamilies(fontId);
        if (fontName.count() == 0) {
            qDebug() << "load iconfont.ttf error";
        }
    } 
    if (fontDb.families().contains("iconfont")) {
        iconFont = QFont("iconfont");
        iconFont.setHintingPreference(QFont::PreferNoHinting);
    }

设置图标

	btn->setFont(iconFont);
    btn->setText(QChar(0xe663));

注意
如果设置了全局字体,务必要设置font-family,否则会显示乱码
原因:
控件在绘制的时候,会通过样式(如果有设置)表重新设置Qpainter的字体。
所以如果样式表里的字体与QWidget::font不一样,就会绘制出错

	btn->setStyleSheet("font-family: iconfont");

显示效果:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车轮滚滚向西行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值