Search code examples
c++qttext

Measuring text width in Qt


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


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);