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

Qt setStyleSheet which kind of fonts can I use?

有谁知道Qt中有哪些字体可以用来格式化widget的字体。它们是系统特定的吗?我想要现代数字的数字,例如 this 我可以在我的程序中实现这种字体吗?如果可以,该怎么做?

据我所知,Qt 在其发行版中不包含任何字体。我进行了快速搜索以进行验证,但找不到任何内容。您可以使用系统上安装的任何 TrueType 字体,所以是的,可用字体是系统特定的。

另一种方法是将字体文件作为 Qt 资源构建到您的可执行文件中,然后使用 QFontDatabase class 安装该字体供您的应用程序使用。构建资源文件后——请参阅文档中的 "Qt Resource System"——下面是安装字体的代码。

#include <QFontDatabase>

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

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

您需要在程序开始时调用此代码一次,然后字体可以通过名称使用,就像它已安装到您的程序所在的系统上一样 运行。请注意,这不会在本地系统上安装字体;该字体将仅适用于您的应用程序。

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