obsidian/笔记文件/2.笔记/替换字体逻辑.md
2025-03-26 00:02:56 +08:00

776 B

#qt

这是会全局替换,字体样式

void MainWindow::initFont()
{
    int font_id = QFontDatabase::addApplicationFont(":/font/SourceHanSansCN-Medium.otf");
    if(font_id != -1){
        //获取导入的字体文件中,有几种字体样式,比如字体文件中存在粗体和普通字体样式,需要逐一设置
        QStringList fontFamilies = QFontDatabase::applicationFontFamilies(font_id);
        foreach (QString fontFamily, fontFamilies)
        {
            qDebug() << "MainWindow.initFont.fontFamily:" << fontFamilies;
            // 设置字体
            QFont font(fontFamily);
            qApp->setFont(font);
        }
    }else{
        qWarning() << "Font init failed!";
        qApp->setFont(QFont("微软雅黑"));
    }
}