Measuring text width in Qt

c++, qt, text

Solution

Since Qt 5.11 you must use `horizontalAdvance()` method of `QFontMetrics` class instead of `width()`. `width()` is now obselete.

QFont myFont(fontName, fontSize);;
QString str("I wonder how wide this is?");

QFontMetrics fm(myFont);
int width=fm.horizontalAdvance(str);

Problem

Using the Qt framework, how do I measure the width (in pixels) of a piece of text rendered with a given font/style?

Original source