PDA

View Full Version : QFontMetrics.height()



Caius Aérobus
4th April 2009, 16:42
Hello,
it is possible to compute the exact width of a string using QFontMetrics.width(QString) but surprisingly it is nt possible to get its height as well since only QFontMetrics.height() is available, which returns some maximum height of a string using a given font. Is it possible to compute the real height of a given string, ie some QFontMetrics.height(QString) functionality?

talk2amulya
4th April 2009, 17:01
why would u need that..QFontMetrics.height() would return the same thing as QFontMetrics.height(QString) would, if there was any...

Caius Aérobus
4th April 2009, 17:18
why would u need that..QFontMetrics.height() would return the same thing as QFontMetrics.height(QString) would, if there was any...
In your opinion, is the height of any string the same? For instance is the height of "oo" the same as the height of "lp"?

talk2amulya
4th April 2009, 17:30
function returns the maximum height possible..it gives the sum of ascent, descent .. which are highest position and lowest position a character can get to respectively..plus 1..so yeh, height returned for any string would be same.

Caius Aérobus
4th April 2009, 17:49
function returns the maximum height possible..it gives the sum of ascent, descent .. which are highest position and lowest position a character can get to respectively..plus 1..so yeh, height returned for any string would be same.

Just try to answer to mu previous question and you should be able to understand that you are wrong.

talk2amulya
4th April 2009, 17:59
no point arguing about it , i believe i m right here :), if you were right, Qt would have included such a function..anyways, u could also check boundingRect(), it takes a string argument..but again, it also returns height AT LEAST that is returned by height() :)

Caius Aérobus
4th April 2009, 18:24
no point arguing about it , i believe i m right here :), if you were right, Qt would have included such a function..

but Qt developpers might not thinking about specific cases, such as when all characters are in CAPS, and in this case no one goes below the baseline, which leads to a wrong measure. So since they have developped a way to evaluate string width, it was probably not that difficult to provide a similar functionaliy for height.

talk2amulya
4th April 2009, 18:27
i guess for that the best bet u have is boundingRect(QString)...it will give u the height as it is..and it shouldnt affect your program much..its better than to curse Qt whole day :)..ciao

aamer4yu
4th April 2009, 18:36
Height is basically for the whole string, so its logical for it to be same.
However, font metrics dont consist of just height, there are also ascent and descent.(QFontMetrics::ascent ,QFontMetrics::descent).

Have a look at them too.

Also there was som example related to fonts on Qt Labs.. Font Anatomy. I think on SVN, under graphics directory. Have a look at it too, it might help :)