问题: 在程序切换俄语时字符串都显示空白 , 说明系统中未有俄语字体库 , 先下载一个带有俄语的字体库 , 直接放在/usr/lib/fonts/目录下.
俄语可以正常切换显示之后,却改变了其他语言的字体格式
解决: 需要在切换语言时也动态切换原始字体库和俄语字体库
//qt全局窗口资源 #define qApp (static_cast<QApplication *>(QCoreApplication::instance())) void translateAllStr(bool isWrite) { // 读取或写入语言序号 readWriteLangID(isWrite); int ret; QFontDatabase database; if(g_byCurLng == 3)//语言是俄语时 { ret = database.addApplicationFont(":/arial.ttf");//qt资源中的俄语字库,也可放在/usr/lib/fonts/目录下 } else { ret = database.addApplicationFont("/usr/lib/fonts/simsun.ttc");//原俄语字库 } if (ret < 0) { qDebug("Font not added!"); } else { QFont font; font.setFamily(QFontDatabase::applicationFontFamilies(ret).at(0)); qApp->setFont(font); } }
标签:俄语,qt,字母,ret,字体库,切换,Linux,font From: https://www.cnblogs.com/mjj1024/p/18152439