如何在Qt样式表中使用嵌入字体?

8

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

这是Arial字体的代码:

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

1个回答

10
在你的main中将字体添加到字体数据库中:
QFontDatabase::addApplicationFont(":/fonts/Oswald-Regular.ttf");

您可能需要检查函数的返回值(0表示成功)和/或数据库中可用的字体:

  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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接