Archived:Calculating text width in Qt
hamishwillee
(Talk | contribs) m (Text replace - "Category:MeeGo" to "Category:MeeGo Harmattan") |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Move into Archived namespace) |
||
| Line 2: | Line 2: | ||
[[Category:Qt C++ UI]][[Category:UI]] | [[Category:Qt C++ UI]][[Category:UI]] | ||
{{ArticleMetaData <!-- v1.2 --> | {{ArticleMetaData <!-- v1.2 --> | ||
| − | |sourcecode= [[Media:HelloworldNew.zip]] | + | |sourcecode= [[Media:HelloworldNew.zip]] |
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
|devices= Nokia 5800 XpressMusic | |devices= Nokia 5800 XpressMusic | ||
Revision as of 09:18, 18 June 2012
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (using C++ for the Qt app UI) is deprecated.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (using C++ for the Qt app UI) is deprecated.
Article Metadata
Code Example
Source file: Media:HelloworldNew.zip
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: tepaa
(26 Mar 2009)
Last edited: hamishwillee
(18 Jun 2012)
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.
Preconditions
- Install Qt SDK
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

