替换字体逻辑.md 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("微软雅黑"));
    }
}