程序体验地址:https://pan.baidu.com/s/1rQFZx5JIud8lWdjMHl0tpg
今天遇到一个问题,就是我给我的程序打包的时候,字体丢了,在新的环境上是没有字体的,那么我怎么才能把我的字体也带到程序中了,容我实验一下
查看了网上。要么就是在app中统一替换字体,要么就是在用到的地方设置字体,这样子感觉搞不自在呀,看样子只能在用的到地方装上我的字体了,两种方式都不是我想要的,后期我在摸索一下,暂时留坑。
目前使用的方式
QFontDatabase::addApplicationFont("Geometr212 BkCn BT Book.ttf"); QFontDatabase::addApplicationFont("terrandropital.ttf");
先试试看,好像没有啥大用途。
目前想要体验,那就只能先安装字体了
参考:https://bbs.csdn.net/topics/390600471
这么写暂时有用
int nIndex = QFontDatabase::addApplicationFont(":/Core/Resources/Core/Geometr212 BkCn BT Book.ttf"); if(nIndex != -1) { QStringList strList(QFontDatabase::applicationFontFamilies(nIndex)); if(strList.count()>0) { QFont font(strList.at(0)); font.setPointSize(10); a.setFont(font); } }
第二种方式,好像也可以了,我在开始的时候应该是路径写错了,默认调用了系统了
QFontDatabase::addApplicationFont(":/Core/Resources/Core/Geometr212 BkCn BT Book.ttf"); QFontDatabase::addApplicationFont(":/Core/Resources/Core/terrandropital.ttf"); a.setFont(QFont("Geometr212 BkCn BT Book"));
另外针对 https://bbs.csdn.net/topics/390600471链接中的问题,我也猜测可能是因为资源文件过大的问题,可以在pro中间中添加
CONFIG+=resources_big #接口qrc文件过大
来解决