2011-01-13 76 views
0

我正在开发一个Qt应用程序,我使用的QFontCombobox必须列出所有字体,应用程序将被设计人员使用,并且他们安装了很多字体。我收到通知,组合框中缺少许多字体。我阅读文档,默认情况下,组合框应加载所有字体。 我需要一个解决方案或至少一些有关为什么字体可能会丢失的提示以及如何加载它们。应用程序必须是跨平台的,所以如果可能的话避免调用本机库会更好。QFontCombobox(Qt 4.7)缺少字体

回答

2

您可以使用

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

功能,看看有什么字体系列,由Qt的认可。如果列表不知何故不完整,您可以添加字体

int QFontDatabase::addApplicationFont (const QString & fileName) [static] 

函数。

+0

我测试了这一点,我得到了相同的结果组合框,我现在等着看是否与缺少字体的人在Windows注册表中缺少它们(这意味着该字体未安装的用户所以在Qt中不可访问) – simion314 2011-01-15 10:17:58

2

QFontCombobox不显示字体,但显示字体系列。见qtdemo /绘画如何枚举所有的字体树中的字体采样例子。