【发布时间】:2012-11-14 06:01:17
【问题描述】:
我有一个用户选择的 QFont:
QFont font = QFontDialog::getFont(&ok, prevFont, this);
我怎么知道它是否是衬线字体?
【问题讨论】:
-
你检查QFont属性了吗?
-
我使用哪个函数来做到这一点? Sans Serif 仅与
styleHint属性一起被提及,但其中包含字体匹配算法的提示。但是,我的字体已经被选中了。 -
您是否需要它适用于所有平台,或者特定平台(Windows、Mac、Linux)?我不认为你可以直接从 Qt 获取这些信息,但可能有一种不可移植的方式,比如从 Windows 上的
HFONT句柄获取LOGFONT结构。 -
我只需要在 Windows 上工作。
-
测试表明通过
QFont本身或通过QFontInfo查询styleHint不起作用。样式提示仅用于传出字体匹配,不会反映加载的实际系统字体的属性。 Qt 将它们用作确定最佳候选字体的指南。我可能是错的,但我怀疑字体文件中是否存在任何固有的衬线指示符,而不是字体名称中出现的文本。