目前从事嵌入式系统下的Qt应用程序开发;
程序需要支持中文,需要想qt的字体目录下导入中文字体;
目前导入为微软雅黑字体;当时不知道setfamily的时候需要使用的是什么名称;
该如何解决呢?
Qt已经给出了解决方案了;
使用QFontDatabase类;
根据帮助文档:
The QFontDatabase class provides information about the fonts available in the underlying window system.
具体描述:
QFontDatabase类提供了当前系统下可用的字体的信息;
该类其中一个函数:
返回支持writingSystem的所有字体类型
那么就可以使用这个函数了解我们需要的信息;
例如:
QFontDatabase database; foreach (const QString &family, database.families()) { qDebug()<<family; }以上这段代码就可以枚举出系统支持的所有字体的名称;
QFontDatabase database; foreach (const QString &family, database.families(QFontDatabase::SimplifiedChinese)) { qDebug()<<family; }以上这段代码就可以枚举出系统中所有支持中文的字体名称。
根据打印信息就能知道微软雅黑字体的名称了:
Microsoft YaHei