如何在QPainter上获取渲染文本的大小?

sha*_*ote 13 c++ qt qpainter

我在QPainter上的Qt程序中绘制了文本和各种元素.我需要得到这个文本占用的像素大小.

知道文本字符串和字体,我能以某种方式获得像素大小吗?

谢谢.

Kun*_*nal 21

您可以将QFontMetrics用于此目的.以下是Qt Docs的样本.

 QFont font("times", 24);
 QFontMetrics fm(font);
 int pixelsWide = fm.width("What's the width of this text?");
 int pixelsHigh = fm.height();
Run Code Online (Sandbox Code Playgroud)

  • 请注意,QPainter 的boundingRect() 方法也会使用画家当前的字体来执行此操作。 (2认同)