2011-01-13 105 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 /繪畫如何枚舉所有的字體樹中的字體採樣例子。