我想使用QPainter::drawText
命令绘制一些文本。
为了正确设置其位置,我需要知道绘制字符串的尺寸(以像素为单位)。
有没有办法知道字符串的像素尺寸?可能之前没有画过它?
答案 0 :(得分:1)
QFontMetrics
类只有一个方法用于此目的:boundingRect()
。
来自Qt文档(http://doc.qt.io/qt-5/qfontmetrics.html#boundingRect-2):
Returns the bounding rectangle of the characters in the string specified by text.
请注意,边界矩形仅提供绘制文本的宽度,width()
函数也提供尾随空格的宽度。也来自Qt docs:
boundingRect() returns a rectangle describing the pixels this string will cover whereas width() returns the distance to where the next string should be drawn.