qt自定义加载字体库ttf

在开发过程中,我们会用到其他的开源字体库,然而在打包后会在不同的电脑上遇到没有安装该字体的问题,以下是通过代码在main.cpp中添加字体示例,以供参考:

cpp 复制代码
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	// 刷新字体数据库(某些系统需要手动刷新)
	m_registryTkPath += "G:\\font\\Alibaba-PuHuiTi-Regular.ttf";
	int fontId = QFontDatabase::addApplicationFont(m_registryTkPath);
	qDebug() << "===fontId===" << fontId;
	if (fontId != -1)
	{
		QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
		foreach(QString fontFamilie, fontFamilies)
		{
			qDebug() << u8"==========加载字体库===========" << fontFamilie;
			QFont font(fontFamilie);
			app.setFont(font);
		}
	}
}

********尽量写固定路径,会避免很多的麻烦。

相关推荐
naruto_lnq14 小时前
分布式系统安全通信
开发语言·c++·算法
fen_fen15 小时前
Oracle建表语句示例
数据库·oracle
砚边数影16 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
orange_tt17 小时前
Djiango配置Celery
数据库·sqlite
CSDN_RTKLIB17 小时前
【四个场景测试】源文件编码UTF-8 BOM
c++
云小逸17 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
肉包_51117 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
霖霖总总18 小时前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
Trouvaille ~18 小时前
【Linux】UDP Socket编程实战(一):Echo Server从零到一
linux·运维·服务器·网络·c++·websocket·udp
HellowAmy18 小时前
我的C++规范 - 线程池
开发语言·c++·代码规范