有谁知道,Qt中有哪种字体可用于格式化小部件的字体。它们是系统特定的吗?我希望用this之类的现代数字来表示数字 我可以在我的程序中实现这个字体吗?如果我能,怎么做?
答案 0 :(得分:1)
据我所知,Qt在其发行版中不包含任何字体。我做了一个快速搜索验证,找不到任何。您可以使用系统上安装的任何TrueType字体,因此,可用字体是特定于系统的。
另一种方法是将字体文件作为Qt资源构建到可执行文件中,然后使用QFontDatabase
类为您的应用程序安装该字体。一旦构建了资源文件 - 请参阅文档中的“Qt资源系统” - 这是安装字体的代码。
#include <QFontDatabase>
int result = QFontDatabase::addApplicationFont (":/fonts/SomeFont.ttf");
if (result == -1)
{
// Some kind of appropriate error handling
}
您需要在程序开头调用此代码一次,然后按名称提供字体,就像在程序运行的任何位置安装到系统上一样。请注意,这不会在本地系统上安装该字体;该字体仅适用于您的应用程序。
另请注意,字体是许可项目,因此为了在分发应用程序时合法,您需要获得许可才能分发字体,或者您需要找到提供适当许可证的开源字体免费再分配。