(Difference between revisions)

Archived:Calculating text width in Qt

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Remove platform specifier categories (only need specifier for Qt if there is some platform specific behaviour))
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData)
Line 1: Line 1:
|platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition
|platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition
Line 9: Line 9:
|creationdate=April 29, 2009
|creationdate=April 29, 2009
|keywords=QFontMetrics, QFont
|keywords=QFontMetrics, QFont
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. -->)

Revision as of 11:58, 24 June 2011


Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Platform Security
Capabilities: )
Keywords: QFontMetrics, QFont
Created: tepaa (29 Apr 2009)
Last edited: hamishwillee (24 Jun 2011)



This code snippets shows how to use the QFont and QFontMetrics classes to draw a string into the center of the screen and to get the string height and width in pixels.


Source code

  • This source code centers the text and sets the text colour.
void QMyWidget::paintEvent(QPaintEvent*)
QPainter painter(this);
// Create font
QFont f("Helvetica",20);
// Set current font
// Set font color
// Get QFontMetrics reference
QFontMetrics fm = painter.fontMetrics();
QString text = "helloworld";
// Calculate text center position into the screen using QFontMetrics class
QPoint center = QPoint( ( width()-fm.width(text))/2,
( height() - fm.height())/2 );
// QFontMetrics::width() gives calculated text width with current QFont in QPainter
// QFontMetrics::height() gives text height


The text is centered on the screen.

The code example can be found at File:HelloworldNew.zip

266 page views in the last 30 days.