×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Calculating text width in Qt

From Nokia Developer Wiki
Jump to: navigation, search
liuxg (Talk | contribs)
kiran10182 (Talk | contribs)
m (Qt for S60 to Qt for Symbian)
Line 14: Line 14:
 
This code snippets shows how to use the <tt>QFont</tt> and <tt>QFontMetrics</tt> classes to draw a string into the center of the screen and to get the string height and width in pixels.
 
This code snippets shows how to use the <tt>QFont</tt> and <tt>QFontMetrics</tt> classes to draw a string into the center of the screen and to get the string height and width in pixels.
  
'''Note''': In order to use this code, you need to have Qt for S60 installed on your platform.
+
'''Note''': In order to use this code, you need to have Qt for Symbian installed on your platform.
  
  
 
==Preconditions==
 
==Preconditions==
  
* Install latest Qt for S60 see [http://wiki.forum.nokia.com/index.php/Qt_for_S60_-_Installation_packages Qt for S60 - Installation packages]
+
* Install latest Qt for Symbian see [http://wiki.forum.nokia.com/index.php/Qt_for_Symbian_-_Installation_packages Qt for Symbian - Installation packages]
 
* Check this link for installation guide: [http://pepper.troll.no/s60prereleases/doc/install-s60.html How to install the package].
 
* Check this link for installation guide: [http://pepper.troll.no/s60prereleases/doc/install-s60.html How to install the package].
* Go through this article: [[Getting started with Qt for S60]]
+
* Go through this article: [[Getting started with Qt for Symbian]]
  
 
==Source code==
 
==Source code==

Revision as of 14:42, 7 January 2010

Template:KBCS

Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Symbian
Article
Keywords: QFontMetrics, QFont
Created: (29 Apr 2009)
Last edited: kiran10182 (07 Jan 2010)

Contents

Overview

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.

Note: In order to use this code, you need to have Qt for Symbian installed on your platform.


Preconditions

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
painter.setFont(f);
// Set font color
painter.setPen(Qt::white);
// 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
 
painter.drawText(center,text);
}


Postconditions

The text is centered on the screen.

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

312 page views in the last 30 days.
×