Archived:Calculating text width in Qt
tanjaluodes
(Talk | contribs) m |
kiran10182
(Talk | contribs) m (internal reference) |
||
| Line 19: | Line 19: | ||
==Preconditions== | ==Preconditions== | ||
| − | * Install latest Qt for Symbian see [ | + | * Install latest Qt for Symbian see [[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 Symbian]] | * Go through this article: [[Getting started with Qt for Symbian]] | ||
Revision as of 01:00, 30 January 2010
Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
S60 5th Edition
Article
Keywords: QFontMetrics, QFont
Created: (29 Apr 2009)
Last edited: kiran10182
(30 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
- Install latest Qt for Symbian see Qt for Symbian - Installation packages
- Check this link for installation guide: How to install the package.
- Go through this article: Getting started with Qt for Symbian
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

