Qt绘制字体并获取文本宽度

参考资料:

https://blog.csdn.net/liang19890820/article/details/51227894

QString text("abc");
QPainter painter(this);
painter.setPen(QColor(0, 160, 230));

QFont font;
font.setFamily("Microsoft YaHei");
// 大小
font.setPointSize(30);
// 斜体
font.setItalic(true);
// 设置下划线
font.setUnderline(true);
// 设置上划线
font.setOverline(true);
// 设置字母大小写
font.setCapitalization(QFont::SmallCaps);
// 设置字符间距
font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
// 使用字体
painter.setFont(font);

QFontMetrics fm = painter.fontMetrics();
int width_text = fm.width(text);

原文地址:https://www.cnblogs.com/zhangxuan/p/10138384.html