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

How to use a embedded font in Qt Style Sheet?

本文关键字:字体 Qt 样式      更新时间:2023-10-16

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

这是 Arial 的代码:

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

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

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

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

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

并查看列表中是否出现"奥斯瓦尔德"。

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

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

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

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

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