If the text doesn't fit, the rect you pass will not be respected. You have to pass a rectangle capable of holding the text or larger. That's why we have QFontMetrics::boundingRect in the first place. It makes it possible to adjust the font if you see the text won't fit into the desired area.