有人可以向我解释这个测试程序的结果吗?
#include <QApplication>
#include <QDebug>
#include <QFontMetrics>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFont font;
font.fromString("Monospace,14");
QFontMetrics fm(font);
qDebug() << "W : " << fm.width('W');
qDebug() << "8*W : " << 8*fm.width('W');
qDebug() << "WWWWWWWW: " << fm.width("WWWWWWWW"); // 8*W
return 0;
}
用 Qt5.11 编译这段代码后,我得到了这样的结果:
W : 11 8*W : 88 WWWWWWWW: 92
这种等宽字体的一个字符“W”的大小是 11。我希望由 8 个这样的字符组成的字符串的大小应该是 88。但是 QFontmetrics::width 返回 92!