QT开发安卓APP的中文字体问题 - 雁北

时间:2024-03-07 12:43:19

QT开发安卓APP的中文字体问题

1.安卓默认的字体为DroidSansFallback:谷歌中文字体
由于手机和PC字体的不一致,导致PC上开发的APP到目的安卓设备中文显示为小方框。
故需要要在qt的main函数中设置系统字体:
//将字体文件名传给addApplicationFont,得到字体的Id
int fontId = QFontDatabase::addApplicationFont("/system/fonts/DroidSansFallback.ttf");
//将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的family
QString msyh = QFontDatabase::applicationFontFamilies ( fontId ).at(0); QFont font(msyh,10);
app.setFont(font);

2. 为了便于在开发环境中调试,可以下载 DroidSansFallback 字体安装到开发主机中,在qtcreator环境中选择改字体。

   实现开发机与目标机一致的字体显示效果。

 

3.  设置 DroidSansFallback 字体最简洁方法:

   QApplication a(argc, argv);
   a.setFont(QFont("Droid Sans Fallback",24));