Qt setStyleSheet我可以使用哪种字体?

时间:2017-03-09 23:12:08

标签: python css qt pyqt qpushbutton

有谁知道,Qt中有哪种字体可用于格式化小部件的字体。它们是系统特定的吗?我希望用this之类的现代数字来表示数字 我可以在我的程序中实现这个字体吗?如果我能,怎么做?

1 个答案:

答案 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
}

您需要在程序开头调用此代码一次,然后按名称提供字体,就像在程序运行的任何位置安装到系统上一样。请注意,这不会在本地系统上安装该字体;该字体仅适用于您的应用程序。

另请注意,字体是许可项目,因此为了在分发应用程序时合法,您需要获得许可才能分发字体,或者您需要找到提供适当许可证的开源字体免费再分配。