首页 > 其他分享 >qt使用本地字体文件

qt使用本地字体文件

时间:2024-03-16 16:23:10浏览次数:21  
标签:qt int QFontDatabase 字体 本地 include

qt使用本地字体文件

qml工程设置使用本地字体文件

#include <QGuiApplication>
#include <QQmlApplicationEngine>

#include <QDebug>
#include <QFontDatabase>

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
#if 1
    QFontDatabase database;
    QString fontPath = "/opt/font/default.ttf";
    int fontId = QFontDatabase::addApplicationFont(fontPath);
    int count = 0;
    qWarning() << "applicationFontFamilies: " << QFontDatabase::applicationFontFamilies(fontId);
    foreach (const QString &family, database.families())
    {
        qWarning() << count++ << ": " << family;
        foreach (const QString &strStyle, database.styles(family))
        {
            QString strSizes;
            foreach (int points, database.smoothSizes(family, strStyle))
            {
                strSizes += QString::number(points) + " ";
            }
            qDebug() << "\t" << strStyle.toStdString().c_str() << "\t" << strSizes.toStdString().c_str();
        }
    }
    if(fontId >= 0)
    {
        QGuiApplication::setFont(QFont(QFontDatabase::applicationFontFamilies(fontId).at(0)));
    }
    else
    {
        qWarning() << QString("无法使用字体文件%1").arg(fontPath);
        QGuiApplication::setFont(QFont("思源黑体"));
    }
#endif
    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

标签:qt,int,QFontDatabase,字体,本地,include
From: https://www.cnblogs.com/yuanhaoblog/p/18077198

相关文章

  • Git 操作——如何删除本地分支和远程分支
     Git操作——如何删除本地分支和远程分支 引言在大多数情况下,删除Git分支很简单。这篇文章会介绍如何删除Git本地分支和远程分支。用两行命令删除分支//删除本地分支gitbranch-dlocalBranchName//删除远程分支gitpushorigin--deleteremoteBranchName......
  • 使用MQTT.fx和自定义Client(Ubuntu上实现)测试MQTT服务器(EMQX )
    目录概述1配置EMQX做MQTT服务器1.1登录EMQX1.2配置EMQX1.2.1配置客户端认证1.2.2创建用户2测试MQTT服务器2.1配置MQTT.fx工具2.2连接MQTT服务器3使用MQTT.fx发布和订阅信息3.1在MQTT.fx上发布信息3.2在MQTT.fx上订阅信息4Ubuntu上实现MQTTClient4......
  • Qt 线程池 QThreadPool
    一.Qt线程池QThreadPool介绍Qt线程池是一种管理多个线程的并发编程模型,通过使用线程池可以提高性能、控制并发度、提供任务队列和简化线程管理。在Qt中,线程池的使用主要涉及以下几个步骤:创建任务类:需要定义一个任务类,该类继承自QRunnable和QObject,以便于能够在线程中运行......
  • Qt QCheckBox设置复选框的大小
    Qt设计QCheckBox样式表QCheckBox的各部分代表的样式表1QCheckBox2{3background-color:rgb(85,170,255);4color:yellow;5}67QCheckox::indicator:unchecked8{9/*设置边框的风格*/10border-style:solid;11border-width......
  • QT TreeWidget控件实现文件树 展示目录结构
    目录1、获取盘符,以及一级子文件2、getFileOnDirectory函数,遍历指定文件夹的一级子文件3、绑定展开信号和槽函数,遍历指定文件4、QTreeWidgetItem::setData()用法如图所示,这里仅仅实现展示目录结构,对于新增文件、修改文件、删除文件会后续补充。 思路:这里我并没有在程序......
  • Qt QtCharts给QChartView换肤,换背景色添加背景图片
    换色setBackgroundBrush这种接口可以设置QChartView背景色首先,给QChart类去掉背景渲染:换肤1QChart*chart=newQChart();2chart->setTheme(QChart::ChartThemeLight);这里chart是你自检的chart进入枚举一共有多个,可以自己看下,那个更适合。换背景下面展示一些内联......
  • Qt Charts 自定义样式
    QtCharts是Qt框架中用于创建图表和图形可视化的模块,它提供了一些内置的图表类型,如折线图、柱状图、饼图等。如果你想要自定义QtCharts中图表的样式,你可以使用一些方法来实现。以下是一些自定义QtCharts样式的方法:1、使用QChart的样式属性: QtCharts中的QChart类具有许多属性......
  • QT QChart去掉边缘区域
     QChart默认会留白、端点处圆形化处理,需要人手修改1chart->layout()->setContentsMargins(0,0,0,0);2chart->setBackgroundRoundness(0); 修改后的效果......
  • Qt QToolButton设置icon与字体居中
    目的设置QToolButtonicon与字体居中显示,网上有挺多文章说明的,有些我设置了无效,我亲自测试了下,如下是有效果的1QToolButton{2color:#b9b9b9;3font-size:12px;4font-weight:normal;5border:2pxsolid#b9b9b9;6border-ra......
  • Qt 工具盒类实现QQ界面QToolBox
    实例:MyQQ界面新建:QtWidgetsApplication项目名称:MyQQ类名:Dialog基类:QDialog不选择“创建界面”代码及详细注释如下:【main.cpp】1#include"dialog.h"//使用哪个类就必须把包含该类的头文件引用过来(*.h文件中包含了相应类的定义)2#include<QAppli......