QFontInfo Class
QFontInfo クラスは、フォントに関する一般的な情報を提供します。詳細...
| ヘッダー: | #include <QFontInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- 非推奨のメンバー
- QFontInfo は「暗黙的に共有されるクラス」の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| QFontInfo(const QFont &font) | |
| QFontInfo(const QFontInfo &fi) | |
| QFontInfo(QFontInfo &&) | |
| ~QFontInfo() | |
| bool | bold() const |
| bool | exactMatch() const |
| QString | family() const |
| bool | fixedPitch() const |
| bool | italic() const |
| int | pixelSize() const |
| int | pointSize() const |
| qreal | pointSizeF() const |
| QFont::Style | style() const |
| QFont::StyleHint | styleHint() const |
| QString | styleName() const |
| void | swap(QFontInfo &other) |
(since 6.9) QList<QFontVariableAxis> | variableAxes() const |
| int | weight() const |
| QFontInfo & | operator=(const QFontInfo &fi) |
詳細な説明
QFontInfo クラスは、QFont と同じアクセス関数、たとえば、family()、pointSize()、italic()、weight()、fixedPitch()、styleHint() などを提供します。しかし、QFont のアクセス関数は設定された値を返すのに対し、QFontInfo オブジェクトは、テキストの描画に実際に使用されるフォントに適用される値を返します。
たとえば、スケーラブルでない 24pt の Courier フォントがインストールされているマシン上で、プログラムが 25pt の Courier フォントを指定した場合、QFont は(通常)レンダリングに 24pt の Courier フォントを使用します。この場合、QFont::pointSize() は 25 を返し、QFontInfo::pointSize() は 24 を返します。
QFontInfo オブジェクトを作成するには 3 つの方法があります。
- QFont を引数として QFontInfo コンストラクタを呼び出すと、画面互換フォント用のフォント情報オブジェクトが作成されます。つまり、そのフォントはプリンタフォントであってはなりません。後でフォントが変更されても、フォント情報オブジェクトは更新されません。
(注:プリンタ用フォントを使用する場合、返される値は不正確になる可能性があります。プリンタ用フォントは常に利用可能とは限らないため、プリンタ用フォントが指定された場合は、最も近い画面用フォントが使用されます。)
- QWidget::fontInfo() は、ウィジェットのフォントに関するフォント情報を返します。これは、QFontInfo(widget->font()) を呼び出すのと同じです。後でウィジェットのフォントが変更されても、フォント情報オブジェクトは更新されません。
- QPainter::fontInfo() は、ペインターの現在のフォントに関するフォント情報を返します。後でペインターのフォントが変更されても、フォント情報オブジェクトは更新されません。
フォントの存在確認
フォントを使用しようとする前に、そのフォントが存在するかどうかを確認しておくと便利な場合があります。最も徹底的な方法は、exactMatch() を使用することです:
const QFont segoeFont(QLatin1String("Segoe UI"));
if (QFontInfo(segoeFont).exactMatch()) {
// Use the font...
}ただし、ファミリーに対するこの徹底的な検索は、一部のプラットフォームでは処理負荷が高くなることがあります。QFontDatabase::families().contains() は、より高速ですが、網羅性は劣る代替手段です:
const QLatin1String segoeUiFamilyName("Segoe UI");
if (QFontDatabase::families().contains(segoeUiFamilyName)) {
const QFont segoeFont(segoeUiFamilyName);
// Use the font...
}完全な検索ではないため、網羅性は低くなります。リストから一部のフォントファミリーのエイリアスが漏れている可能性があります。しかし、このアプローチはアプリケーションの起動時間を短縮するため、可能であれば常に優先すべきです。
QFont 、QFontMetrics 、およびQFontDatabaseも参照してください 。
メンバ関数のドキュメント
QFontInfo::QFontInfo(const QFont &font)
font 用のフォント情報オブジェクトを生成します。
フォントは画面互換である必要があります。つまり、widgets やpixmaps でテキストを描画する際に使用するフォントであり、QPicture やQPrinter で描画するフォントではありません。
フォント情報オブジェクトには、生成時にコンストラクタで渡されたフォントの情報が保持されており、後でフォントの属性が変更されても更新されることはありません。
描画時には、QPainter::fontInfo() を使用してフォント情報を取得してください。これにより、画面互換性のない描画デバイス上で描画する場合でも、正しい結果が得られます。
Checking for the existence of a fontも参照してください 。
QFontInfo::QFontInfo(const QFontInfo &fi)
fi のコピーを作成します。
[constexpr noexcept default] QFontInfo::QFontInfo(QFontInfo &&)
QFontInfo のインスタンスをMoveコンストラクタで生成します。
[noexcept] QFontInfo::~QFontInfo()
フォント情報オブジェクトを破棄します。
bool QFontInfo::bold() const
weight() がQFont::Normal より大きい値を返す場合は、true を返します。それ以外の場合は、false を返します。
weight() およびQFont::bold()も参照してください 。
bool QFontInfo::exactMatch() const
一致したウィンドウシステムのフォントが、font で指定されたフォントと完全に一致する場合は `true ` を返し、そうでない場合は `false` を返します。
QFont::exactMatch()も参照してください 。
QString QFontInfo::family() const
一致したウィンドウシステムのフォントのファミリー名を返します。
QFont::family() およびChecking for the existence of a fontも参照してください 。
bool QFontInfo::fixedPitch() const
マッチしたウィンドウシステムフォントの固定ピッチ値を返します。
QFont::fixedPitch()も参照してください 。
bool QFontInfo::italic() const
一致したウィンドウシステムフォントのイタリック体値を返します。
QFont::italic()も参照してください 。
int QFontInfo::pixelSize() const
一致したウィンドウシステムのフォントのピクセルサイズを返します。
QFont::pointSize()も参照してください 。
int QFontInfo::pointSize() const
一致したウィンドウシステムのフォントのポイントサイズを返します。
pointSizeF() およびQFont::pointSize()も参照してください 。
qreal QFontInfo::pointSizeF() const
一致したウィンドウシステムのフォントのポイントサイズを返します。
QFont::pointSizeF()も参照してください 。
QFont::Style QFontInfo::style() const
一致したウィンドウシステムのフォントのスタイル値を返します。
QFont::style()も参照してください 。
QFont::StyleHint QFontInfo::styleHint() const
一致したウィンドウシステムのフォントのスタイルを返します。
現在、QFont で設定されたスタイルヒントのみを返します。
QFont::styleHint() およびQFont::StyleHintも参照してください 。
QString QFontInfo::styleName() const
これをサポートしているシステムでは、一致したウィンドウシステムのフォントのスタイル名を返します。
QFont::styleName()も参照してください 。
[noexcept] void QFontInfo::swap(QFontInfo &other)
このフォント情報インスタンスを、other と入れ替えます。この操作は非常に高速で、失敗することはありません。
[since 6.9] QList<QFontVariableAxis> QFontInfo::variableAxes() const
フォントが可変フォントの場合、この関数はそのフォントがサポートする軸のリストを返します。
可変軸の詳細については、setVariableAxis() を参照してください。
この関数は Qt 6.9 で導入されました。
int QFontInfo::weight() const
一致したウィンドウシステムフォントのウェイトを返します。
QFont::weight() およびbold()も参照してください 。
QFontInfo &QFontInfo::operator=(const QFontInfo &fi)
fi 内のフォント情報を割り当てます。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.