HMI-17-[Qt 带字体编译]:Qt打包编译的时候带上字体

基于Qt的汽车仪表模拟

程序体验地址: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文件过大

来解决

 2019/08/26 14:38

发布了259 篇原创文章 · 获赞 535 · 访问量 54万+

猜你喜欢

转载自blog.csdn.net/z609932088/article/details/101363056