2

我们刚刚将我们的应用程序从 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 中的“无衬线”字体的“粗体”可用。

4

1 回答 1

0

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

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

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

于 2020-10-14T19:42:44.390 回答