The QFontDatabase class provides information about the fonts available in the underlying window system. 更多...
| 頭: | #include <QFontDatabase> |
注意: 此類的所有函數 綫程安全 .
| enum | WritingSystem { Any, Latin, Greek, Cyrillic, ..., Nko } |
| QFontDatabase () | |
| 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 |
| int | addApplicationFont (const QString & fileName ) |
| int | addApplicationFontFromData (const QByteArray & fontData ) |
| QStringList | applicationFontFamilies (int id ) |
| bool | removeAllApplicationFonts () |
| bool | removeApplicationFont (int id ) |
| QList<int> | standardSizes () |
| bool | supportsThreadedFontRendering () |
| QString | writingSystemName (WritingSystem writingSystem ) |
| QString | writingSystemSample (WritingSystem writingSystem ) |
The QFontDatabase class provides information about the fonts available in the underlying window system.
此類的最常見用法是查詢數據庫為列錶字體 families () 和為 pointSizes () 和 styles () 可用於各係列。替代 pointSizes () 是 smoothSizes () 返迴給定係列的大小且風格看起來很有吸引力。
若字體係列可用於兩個或更多鑄造廠,則鑄造廠名包括在係列名中;例如:Helvetica [Adobe] 和 Helvetica [Cronyx]。當指定係列時,可以使用以連字符連接的舊 foundry-family 格式,或括在方括號內的 family [foundry] 格式;例如:Cronyx-Helvetica 或 Helvetica [Cronyx]。若有鑄造廠,係列始終使用括在方括號內的格式,情況就像值返迴通過 families ().
The font () 函數返迴 QFont 的給定係列、樣式及點大小。
可以校驗係列和風格的組閤,看它是否為 italic () 或 bold (),及檢索其 weight ()。同樣,可以調用 isBitmapScalable (), isSmoothlyScalable (), isScalable () 和 isFixedPitch ().
使用 styleString () 以獲取樣式的文本版本。
The QFontDatabase class also supports some static functions, for example, standardSizes ()。可以檢索書寫係統的描述使用 writingSystemName (),和書寫係統的字符樣本采用 writingSystemSample ().
範例:
QFontDatabase database;
QTreeWidget fontTree;
fontTree.setColumnCount(2);
fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");
foreach (const QString &family, database.families()) {
QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
familyItem->setText(0, family);
foreach (const 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());
}
}
此範例獲取字體係列的列錶,各係列的樣式列錶,及可用於係列和樣式的各組閤的點大小,在樹視圖中顯示此信息。
另請參閱 QFont , QFontInfo , QFontMetrics , QFontComboBox ,和 字符映射範例 .
| 常量 | 值 | 描述 |
|---|---|---|
QFontDatabase::Any
|
0
|
|
QFontDatabase::Latin
|
1
|
|
QFontDatabase::Greek
|
2
|
|
QFontDatabase::Cyrillic
|
3
|
|
QFontDatabase::Armenian
|
4
|
|
QFontDatabase::Hebrew
|
5
|
|
QFontDatabase::Arabic
|
6
|
|
QFontDatabase::Syriac
|
7
|
|
QFontDatabase::Thaana
|
8
|
|
QFontDatabase::Devanagari
|
9
|
|
QFontDatabase::Bengali
|
10
|
|
QFontDatabase::Gurmukhi
|
11
|
|
QFontDatabase::Gujarati
|
12
|
|
QFontDatabase::Oriya
|
13
|
|
QFontDatabase::Tamil
|
14
|
|
QFontDatabase::Telugu
|
15
|
|
QFontDatabase::Kannada
|
16
|
|
QFontDatabase::Malayalam
|
17
|
|
QFontDatabase::Sinhala
|
18
|
|
QFontDatabase::Thai
|
19
|
|
QFontDatabase::Lao
|
20
|
|
QFontDatabase::Tibetan
|
21
|
|
QFontDatabase::Myanmar
|
22
|
|
QFontDatabase::Georgian
|
23
|
|
QFontDatabase::Khmer
|
24
|
|
QFontDatabase::SimplifiedChinese
|
25
|
|
QFontDatabase::TraditionalChinese
|
26
|
|
QFontDatabase::Japanese
|
27
|
|
QFontDatabase::Korean
|
28
|
|
QFontDatabase::Vietnamese
|
29
|
|
QFontDatabase::Symbol
|
30
|
|
QFontDatabase::Other
|
Symbol
|
(如同 Symbol) |
QFontDatabase::Ogham
|
? | |
QFontDatabase::Runic
|
? | |
QFontDatabase::Nko
|
? |
Creates a font database object.
[static]
int
QFontDatabase::
addApplicationFont
(const
QString
&
fileName
)
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.
函數返迴 -1,若無法加載字體。
Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.
注意: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
注意: On Symbian, the font family names get truncated to a length of 20 characters.
該函數在 Qt 4.2 引入。
另請參閱 addApplicationFontFromData (), applicationFontFamilies (),和 removeApplicationFont ().
[static]
int
QFontDatabase::
addApplicationFontFromData
(const
QByteArray
&
fontData
)
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.
函數返迴 -1,若無法加載字體。
Currently only TrueType fonts and TrueType font collections are supported.
注意: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
注意: On Symbian, the font family names get truncated to a length of 20 characters.
該函數在 Qt 4.2 引入。
另請參閱 addApplicationFont (), applicationFontFamilies (),和 removeApplicationFont ().
[static]
QStringList
QFontDatabase::
applicationFontFamilies
(
int
id
)
Returns a list of font families for the given application font identified by id .
該函數在 Qt 4.2 引入。
另請參閱 addApplicationFont () 和 addApplicationFontFromData ().
Returns true if the font that has family family 和樣式 style is bold; otherwise returns false.
返迴可用字體係列的排序列錶,支持 writingSystem .
若係列存在於幾個鑄造廠,則該字體的返迴名稱形式為 family [foundry]。範例:Times [Adobe]、Times [Cronyx]、Palatino。
另請參閱 writingSystems ().
返迴 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 和樣式 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 ().
另請參閱 isScalable () 和 isSmoothlyScalable ().
Returns true if the font that has family family 和樣式 style is fixed pitch; otherwise returns false.
Returns true if the font that has family family 和樣式 style is scalable; otherwise returns false.
另請參閱 isBitmapScalable () 和 isSmoothlyScalable ().
Returns true if the font that has family family 和樣式 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.
另請參閱 isScalable () 和 isBitmapScalable ().
Returns true if the font that has family family 和樣式 style is italic; otherwise returns false.
Returns a list of the point sizes available for the font with the given family and style . The list may be empty.
另請參閱 smoothSizes () 和 standardSizes ().
[static]
bool
QFontDatabase::
removeAllApplicationFonts
()
Removes all application-local fonts previously added using addApplicationFont () 和 addApplicationFontFromData ().
Returns true if unloading of the fonts succeeded; otherwise returns false.
該函數在 Qt 4.2 引入。
另請參閱 removeApplicationFont (), addApplicationFont (),和 addApplicationFontFromData ().
[static]
bool
QFontDatabase::
removeApplicationFont
(
int
id
)
Removes the previously loaded application font identified by id . Returns true if unloading of the font succeeded; otherwise returns false.
該函數在 Qt 4.2 引入。
另請參閱 removeAllApplicationFonts (), addApplicationFont (),和 addApplicationFontFromData ().
Returns the point sizes of a font with the given family and style that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes ().
另請參閱 pointSizes () 和 standardSizes ().
[static]
QList
<
int
> QFontDatabase::
standardSizes
()
返迴標準字體大小的列錶。
另請參閱 smoothSizes () 和 pointSizes ().
Returns a string that describes the style of the font . For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
Returns a string that describes the style of the fontInfo . For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
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.
另請參閱 families ().
[static]
bool
QFontDatabase::
supportsThreadedFontRendering
()
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.
該函數在 Qt 4.4 引入。
另請參閱 Painting In Threads .
Returns the weight of the font that has family family 和樣式 style . If there is no such family and style combination, returns -1.
[static]
QString
QFontDatabase::
writingSystemName
(
WritingSystem
writingSystem
)
Returns the names the writingSystem (e.g. for displaying to the user in a dialog).
[static]
QString
QFontDatabase::
writingSystemSample
(
WritingSystem
writingSystem
)
Returns a string with sample characters from writingSystem .
Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.
另請參閱 families ().
Returns a sorted list of the writing systems supported by a given font family .
另請參閱 families ().