Qt设置应用程序字体

目的

由于微软雅黑字体具有版权效应, 导致实际项目中需要load其他字体, 比如说应用程序默认字体为思源黑体-Mdeium黑度。

通用做法在qrc中添加字体资源,SourceHanSansCN-Medium.ttf, 然后在main函数中动态加载字体文件。 如果后期要更换但这个文件过大的话, 建议改为动态加载绝对路径文件。

cpp 复制代码
#include "SingleApplication.h"
#include <QApplication>
#include <QFontDatabase>
#include <QDebug>

int main(int argc, char *argv[])
{
    SingleApplication a(argc, argv);
   QString fontPath = QString("%1/font/SourceHanSansCN-Medium.ttf").arg(QCoreApplication::applicationDirPath());
     int fontId = QFontDatabase::addApplicationFont(fontdatas);
    qDebug()<< "fontId ="<< fontId<<QFontDatabase::applicationFontFamilies(fontId);
    QString sansCNFamily  = QFontDatabase::applicationFontFamilies(fontId).at(0);
    qDebug()<<"sansCNFamily  =" <<sansCNFamily ;
    font.setFamily(sansCNFamily);
    a.setFont(font);
    a.exec()
}

Note: 一定要确保对应SourceHanSansCN-Medium.ttf 文件是正确的, 不然字体加载会返回-1, 无效

相关推荐
小小码农Come on6 小时前
QT qss样式表案例
qt
小温冲冲7 小时前
QPixmap 详解:Qt 中的高效图像处理类
开发语言·图像处理·qt
小温冲冲8 小时前
Qt实现图片缩放与拖拽查看功能(附源码)
qt
漂洋过海的鱼儿9 小时前
Qt-界面子类(1)
开发语言·qt
机器视觉知识推荐、就业指导10 小时前
Qt 元对象系统:机制、组成与典型用法
数据库·qt
少控科技10 小时前
QT新手日记035
开发语言·qt
青川学长10 小时前
Cursor + Qt Creator 混合开发指南
开发语言·qt
掘根12 小时前
【jsonRpc项目】RCP服务测试
qt·网络协议
老歌老听老掉牙13 小时前
Python+PyQt5 实现目录文件扫描与导出工具
python·qt·文件扫描
訫悦14 小时前
体验在Qt中简单使用C++20的协程
qt·c++20·协程