Namespaces
Variants
Actions
(Difference between revisions)

Archived:Calculating text width in Qt

Jump to: navigation, search
m (Text replace - "<code cpp>" to "<code cpp-qt>")
 
(3 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.png
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.
Article Metadata

Code Example
Tested with
Devices(s): Nokia 5800 XpressMusic

Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
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

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

This page was last modified on 11 October 2012, at 04:13.
638 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved