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 text version of a style is given by styleString().
The QFontDatabase class also supports some static functions, for
example, standardSizes(). You can retrieve the Unicode 3.0
description of a script using
scriptName(), and a sample of characters in a script with
scriptSample().
Example:
#include <qapplication.h>
#include <qfontdatabase.h>
int main( int argc, char **argv )
{
QApplication app( argc, argv );
QFontDatabase fdb;
QStringList families = fdb.families();
for ( QStringList::Iterator f = families.begin(); f != families.end(); ++f ) {
QString family = *f;
qDebug( family );
QStringList styles = fdb.styles( family );
for ( QStringList::Iterator s = styles.begin(); s != styles.end(); ++s ) {
QString style = *s;
QString dstyle = "\t" + style + " (";
QValueList<int> smoothies = fdb.smoothSizes( family, style );
for ( QValueList<int>::Iterator points = smoothies.begin();
points != smoothies.end(); ++points ) {
dstyle += QString::number( *points ) + " ";
}
dstyle = dstyle.left( dstyle.length() - 1 ) + ")";
qDebug( dstyle );
}
}
return 0;
}
This example gets the list of font families, then the list of
styles for each family and the point sizes that are available for
each family/style combination.
Returns a sorted list of the names of the available font families.
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".
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Returns a sorted list of the available font families which support
the Unicode script script.
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".
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.
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().
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.
Returns a string that gives a default description of the script
(e.g. for displaying to the user in a dialog). The name matches
the name of the script as defined by the Unicode 3.0 standard.
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().
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.
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.
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 !