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