Tat*_*ela 5 c++ user-interface qt qt4
有没有办法检测所有字符是否正确显示当前字体?在某些环境和字体中,某些字符将替换为方形符号.
我想自动验证当前字体是否支持GUI中使用的所有字符.
我使用QFontMetrics类找到了一个可能的解决方案。下面是一个示例函数,用于查询 QLabel 的当前文本中是否所有字符都可用:
bool charactersMissing(const QLabel& label) {
QFontMetrics metrics(label.font());
for (int i = 0; i < label.text().size(); ++i) {
if (!metrics.inFont(label.text().at(i))) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
当然,向用户显示缺少的字符会很好,但是当然必须使用不同的字体来完成:)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |