Book Image

Application Development with Qt Creator - Second Edition

Book Image

Application Development with Qt Creator - Second Edition

Overview of this book

Table of Contents (20 chapters)
Application Development with Qt Creator Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Localizing special parameters – currencies and dates with QLocale


A common thing you might need to do is localize currencies and dates. Qt makes this easy, although the solution isn't obvious until you've thought about it a bit.

First, you need to know about the QString arg method. It replaces an escaped number with the formatted version of its argument; if we write:

QString s = QString("%1 %2").arg("a").arg("b");

Then, s contains the string "a b". Second, you need to know about the toString method of QLocale which formats its argument in a locale-specific way.

So, we could write:

QString currencyValue = QString("%1 %2")
    .arg(tr("$")).arg(QLocale::toString(value, 'g', 2)

This uses tr to localize the currency symbol and the QLocale class's static method, toString, to convert the value of the currency to a string with the locale-specific decimal separator (a period in the US and Canada, and a comma in Europe).

Date formatting is similar; the toString method of QLocale has overloads for the QDateTime...