2017-03-09 835 views
0

有誰知道,Qt中有哪種字體可用來格式化小部件的字體。他們是系統特定的嗎?我想要現代數字中的數字,例如this 我可以在我的程序中實現這種字體嗎?如果可以的話,該怎麼做?Qt setStyleSheet可以使用哪種字體?

+0

最後我查了一下,這個信息在Google上。你應該在那裏找到你所有的答案。 –

+0

使用'QLCDNumber'是一個很好的解決方案,捆綁'DS Digital'字體可能會更好看,並且更加靈活。 –

回答

1

據我所知,Qt在其發行版中不包含任何字體。我做了一個快速搜索來驗證,並找不到任何。您可以使用系統上安裝的任何TrueType字體,所以可用的字體是系統特定的。

另一種方法是將字體文件作爲Qt資源編譯到您的可執行文件中,然後通過使用QFontDatabase類來爲您的應用程序安裝該字體。一旦建立了資源文件 - 請參閱文檔中的「Qt資源系統」 - 以下是安裝字體的代碼。

#include <QFontDatabase> 

int result = QFontDatabase::addApplicationFont (":/fonts/SomeFont.ttf"); 

if (result == -1) 
{ 
    // Some kind of appropriate error handling 
} 

你需要在你的程序的開始,一旦調用這個代碼,然後字體是否可用的名字,就好像它被安裝到任何地方你的程序正在運行的系統。請注意,這不會在本地系統上安裝字體;該字體將僅適用於您的應用程序。

另請注意,字體是許可項目,因此爲了在分發應用程序時合法,您需要獲得許可才能分發字體,或者您需要查找提供適當許可證的開源字體允許自由重新分配。

+0

我自己找到了一種替代解決方案。它是使用QLCDNumber。但是,謝謝你的回答。 –

+0

哦!我忘記了這一點...從來沒有使用它,但它是一個非常酷的小部件,正是你需要的。很高興你找到了它。 – goug

相關問題