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

时间:2017-04-14 12:46:04

标签: c++ qt stylesheet qtstylesheets

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

这是Arial的代码:

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

1 个答案:

答案 0 :(得分:3)

将字体添加到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