【问题标题】:"Bold" style is not available for "Sans Serif" font on QT5QT5 上的“无衬线”字体没有“粗体”样式
【发布时间】:2021-01-29 05:51:45
【问题描述】:

我们刚刚将应用程序从 QT4 移至 QT5。我们发现“粗体”样式不适用于 QT5 上的“无衬线”字体。我可以从如下所示的 QFontDialog 看出:

我还使用以下代码转储“无衬线”下的所有可用样式

QFontDatabase db;
auto list = db.styles("Sans Serif");
for(auto& l : list)
    std::cout << l << " ";

我得到了相同的列表,即 Normal、Italic 和 Oblique。但是我可以在 QT4 上看到 Bold 和 Bold Italic 选项。 我的问题是如何实现从字体到字体样式的映射。我是否能够配置一些东西以使 QT5 中的“无衬线”字体的“粗体”可用。

【问题讨论】:

    标签: qt qfont


    【解决方案1】:

    是否有可能选择不同的字体? (注意,Sans Serif 是一个通用名称,实际关联的字体可能因系统、操作系统分发中包含的内容、硬件或 Qt 版本而异。

    至少在处理 QSS 样式时,使用 Qt Quick 等。它遵循与 LaTex 相同的规则,其中不推荐使用 Sans Serif 和 Bold 组合(实际上斜体也是如此,它与选择斜体字体相同)。如果你想要一个等价的,你可能必须使用带有粗体风格的 Helvetica(Helvetica 是 Sans Serif 后面的常用字体)。

    这实际上取决于操作系统配置。

    【讨论】:

      猜你喜欢
      • 2015-03-11
      • 2023-03-06
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      相关资源
      最近更新 更多