Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QFontDatabase Class Reference
[QtGui module]

The QFontDatabase class provides information about the fonts available in the underlying window system. More...

 #include <QFontDatabase>

Note: All the functions in this class are thread-safe.

Public Types

Public Functions

  • bool bold ( const QString & family, const QString & style ) const
  • QStringList families ( WritingSystem writingSystem = Any ) const
  • QFont font ( const QString & family, const QString & style, int pointSize ) const
  • bool isBitmapScalable ( const QString & family, const QString & style = QString() ) const
  • bool isFixedPitch ( const QString & family, const QString & style = QString() ) const
  • bool isScalable ( const QString & family, const QString & style = QString() ) const
  • bool isSmoothlyScalable ( const QString & family, const QString & style = QString() ) const
  • bool italic ( const QString & family, const QString & style ) const
  • QList<int> pointSizes ( const QString & family, const QString & style = QString() )
  • QList<int> smoothSizes ( const QString & family, const QString & style )
  • QString styleString ( const QFont & font )
  • QString styleString ( const QFontInfo & fontInfo )
  • QStringList styles ( const QString & family ) const
  • int weight ( const QString & family, const QString & style ) const
  • QList<WritingSystem> writingSystems () const
  • QList<WritingSystem> writingSystems ( const QString & family ) const

Static Public Members


Detailed Description

The QFontDatabase class provides information about the fonts available in the underlying window system.

The most common uses of this class are to query the database for the list of font families() and for the pointSizes() and styles() that are available for each family. An alternative to pointSizes() is smoothSizes() which returns the sizes at which a given family and style will look attractive.

If the font family is available from two or more foundries the foundry name is included in the family name, e.g. "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family you can either use the old hyphenated Qt 2.x "foundry-family" format, e.g. "Cronyx-Helvetica", or the new bracketed Qt 3.x "family [foundry]" format e.g. "Helvetica [Cronyx]". If the family has a foundry it is always returned, e.g. by families(), using the bracketed format.

The font() function returns a QFont given a family, style and point size.

A family and style combination can be checked to see if it is italic() or bold(), and to retrieve its weight(). Similarly we can call isBitmapScalable(), isSmoothlyScalable(), isScalable() and isFixedPitch().

Use the styleString() to obtain a text version of a style.

The QFontDatabase class also supports some static functions, for example, standardSizes(). You can retrieve the description of a writing system using writingSystemName(), and a sample of characters in a writing system with writingSystemSample().

Example:

     QFontDatabase database;
     QTreeWidget fontTree;
     fontTree.setColumnCount(2);
     fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");

     foreach (QString family, database.families()) {
         QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
         familyItem->setText(0, family);

         foreach (QString style, database.styles(family)) {
             QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
             styleItem->setText(0, style);

             QString sizes;
             foreach (int points, database.smoothSizes(family, style))
                 sizes += QString::number(points) + " ";

             styleItem->setText(1, sizes.trimmed());
         }
     }

This example gets the list of font families, the list of styles for each family, and the point sizes that are available for each combination of family and style, displaying this information in a tree view.

See also QFont, QFontInfo, QFontMetrics, QFontComboBox, and Character Map Example.


Member Type Documentation

enum QFontDatabase::WritingSystem

ConstantValueDescription
QFontDatabase::Any0 
QFontDatabase::Latin1 
QFontDatabase::Greek2 
QFontDatabase::Cyrillic3 
QFontDatabase::Armenian4 
QFontDatabase::Hebrew5 
QFontDatabase::Arabic6 
QFontDatabase::Syriac7 
QFontDatabase::Thaana8 
QFontDatabase::Devanagari9 
QFontDatabase::Bengali10 
QFontDatabase::Gurmukhi11 
QFontDatabase::Gujarati12 
QFontDatabase::Oriya13 
QFontDatabase::Tamil14 
QFontDatabase::Telugu15 
QFontDatabase::Kannada16 
QFontDatabase::Malayalam17 
QFontDatabase::Sinhala18 
QFontDatabase::Thai19 
QFontDatabase::Lao20 
QFontDatabase::Tibetan21 
QFontDatabase::Myanmar22 
QFontDatabase::Georgian23 
QFontDatabase::Khmer24 
QFontDatabase::SimplifiedChinese25 
QFontDatabase::TraditionalChinese26 
QFontDatabase::Japanese27 
QFontDatabase::Korean28 
QFontDatabase::Vietnamese29 
QFontDatabase::Symbol30 
QFontDatabase::OtherSymbol(the same as Symbol)
QFontDatabase::Ogham? 
QFontDatabase::Runic? 


Member Function Documentation

QFontDatabase::QFontDatabase ()

Creates a font database object.

int QFontDatabase::addApplicationFont ( const QString & fileName )   [static]

Loads the font from the file specified by fileName and makes it available to the application. An ID is returned that can be used to remove the font again with removeApplicationFont() or to retrieve the list of family names contained in the font.

The function returns -1 if the font could not be loaded.

Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.

Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

This function was introduced in Qt 4.2.

See also addApplicationFontFromData(), applicationFontFamilies(), and removeApplicationFont().

int QFontDatabase::addApplicationFontFromData ( const QByteArray & fontData )   [static]

Loads the font from binary data specified by fontData and makes it available to the application. An ID is returned that can be used to remove the font again with removeApplicationFont() or to retrieve the list of family names contained in the font.

The function returns -1 if the font could not be loaded.

Currently only TrueType fonts and TrueType font collections are supported.

Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

This function was introduced in Qt 4.2.

See also addApplicationFont(), applicationFontFamilies(), and removeApplicationFont().

QStringList QFontDatabase::applicationFontFamilies ( int id )   [static]

Returns a list of font families for the given application font identified by id.

This function was introduced in Qt 4.2.

See also addApplicationFont() and addApplicationFontFromData().

bool QFontDatabase::bold ( const QString & family, const QString & style ) const

Returns true if the font that has family family and style style is bold; otherwise returns false.

See also italic() and weight().

QStringList QFontDatabase::families ( WritingSystem writingSystem = Any ) const

Returns a sorted list of the available font families which support the writingSystem.

If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples: "Times [Adobe]", "Times [Cronyx]", "Palatino".

See also writingSystems().

QFont QFontDatabase::font ( const QString & family, const QString & style, int pointSize ) const

Returns a QFont object that has family family, style style and point size pointSize. If no matching font could be created, a QFont object that uses the application's default font is returned.

bool QFontDatabase::isBitmapScalable ( const QString & family, const QString & style = QString() ) const

Returns true if the font that has family family and style style is a scalable bitmap font; otherwise returns false. Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by smoothSizes().

See also isScalable() and isSmoothlyScalable().

bool QFontDatabase::isFixedPitch ( const QString & family, const QString & style = QString() ) const

Returns true if the font that has family family and style style is fixed pitch; otherwise returns false.

bool QFontDatabase::isScalable ( const QString & family, const QString & style = QString() ) const

Returns true if the font that has family family and style style is scalable; otherwise returns false.

See also isBitmapScalable() and isSmoothlyScalable().

bool QFontDatabase::isSmoothlyScalable ( const QString & family, const QString & style = QString() ) const

Returns true if the font that has family family and style style is smoothly scalable; otherwise returns false. If this function returns true, it's safe to scale this font to any size, and the result will always look attractive.

See also isScalable() and isBitmapScalable().

bool QFontDatabase::italic ( const QString & family, const QString & style ) const

Returns true if the font that has family family and style style is italic; otherwise returns false.

See also weight() and bold().

QList<int> QFontDatabase::pointSizes ( const QString & family, const QString & style = QString() )

Returns a list of the point sizes available for the font that has family family and style style. The list may be empty.

See also smoothSizes() and standardSizes().

bool QFontDatabase::removeAllApplicationFonts ()   [static]

Removes all application-local fonts previously added using addApplicationFont() and addApplicationFontFromData().

Returns true if unloading of the fonts succeeded; otherwise returns false.

This function was introduced in Qt 4.2.

See also removeApplicationFont(), addApplicationFont(), and addApplicationFontFromData().

bool QFontDatabase::removeApplicationFont ( int id )   [static]

Removes the previously loaded application font identified by id. Returns true if unloading of the font succeeded; otherwise returns false.

This function was introduced in Qt 4.2.

See also removeAllApplicationFonts(), addApplicationFont(), and addApplicationFontFromData().

QList<int> QFontDatabase::smoothSizes ( const QString & family, const QString & style )

Returns the point sizes of a font that has family family and style style that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes().

See also pointSizes() and standardSizes().

QList<int> QFontDatabase::standardSizes ()   [static]

Returns a list of standard font sizes.

See also smoothSizes() and pointSizes().

QString QFontDatabase::styleString ( const QFont & font )

Returns a string that describes the style of the font. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QString QFontDatabase::styleString ( const QFontInfo & fontInfo )

This is an overloaded member function, provided for convenience.

Returns a string that describes the style of the fontInfo. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QStringList QFontDatabase::styles ( const QString & family ) const

Returns a list of the styles available for the font family family. Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.

See also families().

bool QFontDatabase::supportsThreadedFontRendering ()   [static]

Returns true if font rendering is supported outside the GUI thread, false otherwise. In other words, a return value of false means that all QPainter::drawText() calls outside the GUI thread will not produce readable output.

This function was introduced in Qt 4.4.

See also threads.html#painting-in-threads.

int QFontDatabase::weight ( const QString & family, const QString & style ) const

Returns the weight of the font that has family family and style style. If there is no such family and style combination, returns -1.

See also italic() and bold().

QString QFontDatabase::writingSystemName ( WritingSystem writingSystem )   [static]

Returns the names the writingSystem (e.g. for displaying to the user in a dialog).

QString QFontDatabase::writingSystemSample ( WritingSystem writingSystem )   [static]

Returns a string with sample characters from writingSystem.

QList<WritingSystem> QFontDatabase::writingSystems () const

Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.

See also families().

QList<WritingSystem> QFontDatabase::writingSystems ( const QString & family ) const

This is an overloaded member function, provided for convenience.

Returns a sorted list of the writing systems supported by a given font family.

See also families().

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 102
  2. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 53
  3. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 81
  4. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 28
  5. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 11
Page suivante
  1. Linus Torvalds : le "C++ est un langage horrible", en justifiant le choix du C pour le système de gestion de version Git 100
  2. Comment prendre en compte l'utilisateur dans vos applications ? Pour un développeur, « 90 % des utilisateurs sont des idiots » 229
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Apple cède et s'engage à payer des droits à Nokia, le conflit des brevets entre les deux firmes s'achève 158
  5. Nokia porte à nouveau plainte contre Apple pour violation de sept nouveaux brevets 158
  6. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 102
  7. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
Page suivante

Le Qt Developer Network au hasard

Logo

Utiliser QML et QtWebKit avec PySide

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt qtextended4.4
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web