如何查询当前环境下,Qt所支持的字体的名称

转载:点击打开链接

目前从事嵌入式系统下的Qt应用程序开发;

程序需要支持中文,需要想qt的字体目录下导入中文字体;

目前导入为微软雅黑字体;当时不知道setfamily的时候需要使用的是什么名称;

该如何解决呢?

Qt已经给出了解决方案了;

使用QFontDatabase类;

根据帮助文档:

Detailed Description

The QFontDatabase class provides information about the fonts available in the underlying window system.

具体描述:

QFontDatabase类提供了当前系统下可用的字体的信息;

该类其中一个函数:

QStringList QFontDatabase::families ( WritingSystem writingSystem = Any ) const

Returns a sorted list of the available font families which support the writingSystem.

返回支持writingSystem的所有字体类型

那么就可以使用这个函数了解我们需要的信息;

例如:

[cpp]  view plain copy
  1. QFontDatabase database;  
  2. foreach (const QString &family, database.families())  
  3. {  
  4.      qDebug()<<family;  
  5. }  
以上这段代码就可以枚举出系统支持的所有字体的名称;

[cpp]  view plain copy
  1. QFontDatabase database;  
  2. foreach (const QString &family, database.families(QFontDatabase::SimplifiedChinese))   
  3. {  
  4.     qDebug()<<family;  
  5. }  
以上这段代码就可以枚举出系统中所有支持中文的字体名称。

根据打印信息就能知道微软雅黑字体的名称了:

Microsoft YaHei

你可能感兴趣的:(字体,qt,字库)