如何在 Qt Style Sheet 中使用嵌入字体?

How to use a embedded font in Qt Style Sheet?

我在我的 .qrc 资源文件中添加了一个字体名称“:font/Oswald-Regular.ttf”。我想在我的 Qt Style Sheet 中为所有 QLabels 使用它。

这是 Arial 的代码:

QLabel
{
color: white;
font: 10pt "Arial";
}

将字体添加到 main 中的字体数据库:

QFontDatabase::addApplicationFont(":/fonts/Oswald-Regular.ttf");

您可能需要检查函数 return 值(0 表示成功) and/or 数据库中可用的字体:

  QFontDatabase db;
  for(int i=0; i<db.families().size(); i++)
  {
    qDebug() << db.families().at(i);
  }

并查看 "Oswald" 是否出现在列表中。

将样式表设置为标签父小部件,从编辑器更改样式表对话框:

QLabel { color: black; font: 24pt  'Oswald'; }

或在小部件构造函数中以编程方式:

setStyleSheet("QLabel { color: black; font: 24pt  'Oswald'; }");

如果在 Unix/X11 平台上,请确保安装了 fontconfig