当前位置: 首页 > news >正文

qt系统字体方案

目录

  • 查看系统支持字体
  • 设置默认字体
  • Qt5.13新增自定义回退链
  • 字体扩展方式1(系统安装)
  • 字体扩展方式2 (外部资源)

查看系统支持字体

#include<QFontDatabase>#include<QDebug>// 获取所有字体系列QFontDatabase fontDatabase;qDebug()<<fontDatabase.families();

设置默认字体

// 设置默认字体QFont defaultFont=QGuiApplication::font();qDebug()<<"系统默认字体:"<<defaultFont.family();defaultFont.setFamily("宋体");QGuiApplication::setFont(defaultFont);

Qt5.13新增自定义回退链

当字符在默认字体找不到,qt会如何处理呢?
5.13之前的版本,他会回到系统回退链查找
5.13版本给QFont新增setFamilies自定义回退链,如果自定义回退链找不到才会回到系统回退链

// 设置默认字体QFont defaultFont=QGuiApplication::font();qDebug()<<"系统默认字体:"<<defaultFont.family();QStringList families;families<<"Microsoft YaHei"<<"PingFang SC"<<"Hiragino Sans GB"<<"WenQuanYi Micro Hei"<<"sans-serif";defaultFont.setFamily("宋体");defaultFont.setFamilies(families);QGuiApplication::setFont(defaultFont);

字体扩展方式1(系统安装)

如果是ubuntu你就将字体安装到, 与此同时启动qt程序
是可以在fontDatabase.families()中找到的

/usr/share/fonts/-这是最主要的系统级字体目录。安装在这里的字体对所有用户可用。 通常,您下载的字体包(如.ttf,.otf文件)可以放在其子目录中,例如:/usr/share/fonts/truetype/(用于 TrueType 字体.ttf)/usr/share/fonts/opentype/(用于 OpenType 字体.otf)您也可以在其中创建新的文件夹来分类管理字体。

字体扩展方式2 (外部资源)

将字体包安装到程序所在指定目录,通过本地路径加载
在families()看到的字体直接使用即可
不建议使用qrc进行加载因为会导致打包文件很大,打包速度很慢

// 获取所有字体系列QFontDatabase fontDatabase;fontDatabase.addApplicationFont("MiSans-Thin.ttf");qDebug()<<fontDatabase.families();// 设置默认字体QFont defaultFont=QGuiApplication::font();qDebug()<<"系统默认字体:"<<defaultFont.family();QStringList families;families<<"Microsoft YaHei"<<"PingFang SC"<<"Hiragino Sans GB"<<"WenQuanYi Micro Hei"<<"sans-serif";defaultFont.setFamily("MiSans Thin");//defaultFont.setFamilies(families);QGuiApplication::setFont(defaultFont);
http://www.jsqmd.com/news/493683/

相关文章:

  • AutoGen Studio快速入门:无需代码基础玩转AI智能体
  • 破除医疗流程图协作壁垒:drawio-desktop的格式桥接技术与实践指南
  • 直流电机特性仿真:调压、弱磁、串电阻启动的Matlab GUI界面设计
  • 快速上手all-MiniLM-L6-v2:轻量级句子嵌入模型实战指南
  • 告别复杂配置!SGLang-v0.5.6 Docker镜像快速部署,小白也能轻松搭建LLM服务
  • Maye Nano v2.2.0.260313 丨 Windows 高效启动工具
  • ISTA6A电商标准,ISTA 6A亚马逊包装测试(Type A)全面介
  • 190.Vue3 + OpenLayers 实战:实现地图旋转移动动画 + CSS缩放动画(详解 animate 用法)
  • HunterPie配置系统深度解析:现代游戏覆盖层的智能管理架构
  • 当心!你选的访客系统正悄悄出卖公司隐私
  • Git误操作急救手册:拯救代码全攻略
  • MinerU入门教程:3步学会使用智能文档理解,提升工作效率
  • 互联网大厂Java面试:水货程序员的搞笑经历
  • 基于code-server打造私有AI编程工作站
  • 深入理解 Spring 中的 @Primary 与 @Qualifier
  • 不止调亮度!晚上玩手机的 “护眼全链路” 设置指南
  • 电动汽车高压平台采用率持续上升
  • 基于PP-DocLayoutV3的VMware虚拟机文档自动化管理
  • 机械毕业设计选题指南:从工程问题到技术实现的选题方法论
  • Qwen2-VL-2B-Instruct保姆级部署教程:Windows系统下Docker环境配置详解
  • Ollama部署本地大模型:translategemma-12b-it在国际学校双语教材智能批改中的应用
  • Face Fusion人脸合成实测:3步搞定自然换脸,小白也能成高手
  • HY-MT1.5-1.8B保姆级教程:3步搞定SRT字幕文件智能翻译
  • Retinaface+CurricularFace实战:智能考勤打卡系统快速搭建教程
  • Compose 三层结构设计规范1(基于Slot API)
  • 为什么IP定位总是不准?揭秘IP定位的“精度分层”与选型策略
  • 机械臂构型全解析:从笛卡尔到Delta,哪种最适合你的项目?
  • 低空+公安警务:空天地一体化构建智慧安防新范式,SaaS应用重磅开放
  • 深入人工智能核心:MiniCPM-V-2_6模型架构与训练技术解析
  • OFA模型STM32项目展示:边缘设备图像描述的概念验证