Using the Qt framework, how do I measure the width (in pixels) of a piece of text rendered with a given font/style?
You can use QFontMetrics class - see the width() method which can give you the width of a given QString.
QFont myFont(fontName, fontSize);; QString str("I wonder how wide this is?"); QFontMetrics fm(myFont); int width=fm.width(str);
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With