QFontInfo Class

QFontInfo クラスは、フォントに関する一般的な情報を提供します。詳細...

Header: #include <QFontInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

QFontInfo(const QFont &font)
QFontInfo(const QFontInfo &fi)
~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)
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 つの方法があります。

  1. QFontInfo コンストラクタをQFont で呼び出すと、スクリーン互換フォントのフォント情報オブジェクトが作成されます。フォントを後で変更しても、フォント情報オブジェクトは更新されません

    (注意:プリンタフォントを使用した場合、返される値は不正確かもしれません。プリンタフォントは常にアクセスできるわけではないので、プリンタフォントが提供された場合は、最も近いスクリーンフォントが使用されます)。

  2. QWidget::fontInfo() は、ウィジェットのフォントのフォント情報を返します。これはQFontInfo(widget->font())を呼び出すのと同じです。ウィジェットのフォントが後で変更されても、フォント情報オブジェクトは更新されません
  3. 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...
}

完全な検索ではないので、完全ではありません: いくつかのフォントファミリーのエイリアスがリストにないかもしれません。しかし、このアプローチはアプリケーションの起動時間を速くするので、可能であれば常に優先されるべきです。

QFontQFontMetricsQFontDatabaseも参照してください

メンバ関数説明

QFontInfo::QFontInfo(const QFont &font)

font に対するフォント情報オブジェクトを構築する。

フォントはスクリーン互換でなければなりません。つまり、QPictureQPrinter ではなく、widgetspixmaps でテキストを描画するときに使用するフォントでなければなりません。

フ ォ ン ト 情報オブジ ェ ク ト は、 コ ス ト ラ ク タ が生成 さ れ る 際に渡 さ れ る フ ォ ン ト の情報を保持 し てお り 、 その後に フ ォ ン ト の属性が変更 さ れて も 更新 さ れません。

描画時にフ ォ ン ト 情報を取得す る にはQPainter::fontInfo () を用います。これにより、スクリーン互換でないペイントデバイスでペイントした場合でも、正しい結果が得られます。

Checking for the existence of a fontも参照してください

QFontInfo::QFontInfo(const QFontInfo &fi)

fi のコピーを構築します。

[noexcept] QFontInfo::~QFontInfo()

フォント情報オブジェクトを破棄します。

bool QFontInfo::bold() const

weight() がQFont::Normal より大きな値を返す場合はtrue を返し、そうでない場合はfalse を返します。

weight() およびQFont::bold()も参照

bool QFontInfo::exactMatch() const

マッチしたウィンドウシステムフォントが、フォントで指定されたものと全く同じであれば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 と交換します。この関数は非常に高速で、失敗することはありません。

int QFontInfo::weight() const

マッチしたウィンドウシステムフォントのウェイトを返します。

QFont::weight() およびbold() も参照

QFontInfo &QFontInfo::operator=(const QFontInfo &fi)

fi のフォント情報を割り当てます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。