Archived:Calculating text width in Qt
hamishwillee
(Talk | contribs) m (Removed protection from "CS001349 - Calculating text width in Qt": Merging into Wiki) |
hamishwillee
(Talk | contribs) m (Text replace - "<code cpp>" to "<code cpp-qt>") |
||
| (4 intermediate revisions by one user not shown) | |||
| 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 | ||
| Line 38: | Line 38: | ||
*'''This source code centers the text and sets the text colour.''' | *'''This source code centers the text and sets the text colour.''' | ||
| − | <code cpp> | + | <code cpp-qt> |
void QMyWidget::paintEvent(QPaintEvent*) | void QMyWidget::paintEvent(QPaintEvent*) | ||
{ | { | ||
| Line 73: | Line 73: | ||
| − | [[Category:Code Examples]][[Category:Code Snippet]][[Category:MeeGo]] [[Category:Symbian]] | + | [[Category:Code Examples]][[Category:Code Snippet]][[Category:MeeGo Harmattan]] [[Category:Symbian]] |
Latest revision as of 04:13, 11 October 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
(11 Oct 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

