QT5上的“ Sans Serif”字体不可使用“ Bold”样式

问题描述

我们刚刚将应用程序从QT4移到了QT5。我们发现QT5上的“ Sans Serif”字体不可使用“ Bold”样式。我可以从QFontDialog看到以下内容

enter image description here

我还使用以下代码将所有可用样式转储到“ Sans Serif”下

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

我得到了正常,斜体和倾斜的相同列表。但是我可以在QT4上看到Bold和Bold Italic选项。 我的问题是如何实现从字体到字体样式的映射。我是否可以配置一些东西以使QT5中的“ Sans Serif”字体的“ Bold”字体可用。

解决方法

是否有可能选择其他字体? (请注意,Sans Serif是通用名称,相关的实际字体可能因系统,操作系统的发行版,硬件或Qt的版本而异)。

至少在处理QSS样式,Qt Quick等时,它遵循与LaTex相同的规则,其中不赞成使用Sans Serif和Bold组合(实际上,Italic也是,它与选择Italic字体相同)。如果要使用等效字体,则可能必须使用大胆的Helvetica(Helvetica是Sans Serif后面的常用字体)。

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