参考网址:Qt绘制字体并获取文本宽度 - 邶风 - 博客园 (cnblogs.com)
简单记录:
QPainter painter(this);
QFont oldFont = painter.font();
QFont newFont;
newFont.... // 设置新字体
painter.setFont(newFont);
QFontMetrics fm = painter.fontMetrics();
QString textTest("The drawing text string.");
int txtWidth = fm.width(textTest);
painter.setFont(oldFont);
txtWidth就是计算出来的文本宽度,这里一个细节是painter.font()接口,用于获取当前它拥有的字体,这个接口有点奇怪,设置是setFont(),但获取却是font()而不是getFont(),不知道这个设计的人是咋考虑的。以上代码如果是在python下,则如下所示:
painter = QPainter()
oldFont = painter.font()
newFont = QFont()
newFont.setPointSize(18)
painter.setFont(newFont)
fm = painter.fontMetrics()
textTest = "The drawing text string."
txtWidth = fm.width(textText)
painter.setFont(oldFont)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)