このページでは

QFontDialog Class

QFontDialog クラスは、フォントを選択するためのダイアログウィジェットを提供します。詳細...

ヘッダー: #include <QFontDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QDialog

パブリック型

enum FontDialogOption { NoButtons, DontUseNativeDialog, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts }
flags FontDialogOptions

プロパティ

パブリック関数

QFontDialog(QWidget *parent = nullptr)
QFontDialog(const QFont &initial, QWidget *parent = nullptr)
QFont currentFont() const
void open(QObject *receiver, const char *member)
QFontDialog::FontDialogOptions options() const
QFont selectedFont() const
void setCurrentFont(const QFont &font)
void setOption(QFontDialog::FontDialogOption option, bool on = true)
void setOptions(QFontDialog::FontDialogOptions options)
bool testOption(QFontDialog::FontDialogOption option) const

再実装されたパブリック関数

virtual void setVisible(bool visible) override

シグナル

void currentFontChanged(const QFont &font)
void fontSelected(const QFont &font)

静的パブリックメンバー

QFont getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())
QFont getFont(bool *ok, QWidget *parent = nullptr)

再実装された保護関数

virtual void changeEvent(QEvent *e) override
virtual void done(int result) override

詳細な説明

フォントダイアログは、静的なgetFont()関数のいずれかを通じて作成されます。

例:

bool ok;
QFont font = QFontDialog::getFont(
                &ok, QFont("Helvetica [Cronyx]", 10), this);
if (ok) {
    // the user clicked OK and font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the initial
    // value, in this case Helvetica [Cronyx], 10
}

このダイアログを使用して、ウィジェットのフォントを直接設定することもできます:

myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));

ユーザーが「OK」をクリックすると、選択したフォントが myWidget に適用され、「キャンセル」をクリックした場合は元のフォントが使用されます。

Fusionウィジェットスタイルのフォントダイアログ。

関連項目: QFont 、QFontInfo 、QFontMetrics 、QColorDialog 、QFileDialog 、および「標準ダイアログの例」。

メンバ型のドキュメント

enum QFontDialog::FontDialogOption
flags QFontDialog::FontDialogOptions

この列挙型は、フォントダイアログの見た目や操作感に影響を与えるさまざまなオプションを指定します。

たとえば、どの種類のフォントを表示するかを指定することができます。何も指定しない場合は、利用可能なすべてのフォントが一覧表示されます。

一部のプラットフォーム(Macなど)では、フォントのフィルタリングオプションがサポートされていない場合があることに注意してください。これらのオプションは、非ネイティブのダイアログ(Windows や Linux で使用されるもの)では常にサポートされています。

定数値説明
QFontDialog::NoButtons0x00000001OK およびCancel ボタンを表示しない。(「ライブダイアログ」に有用です。)
QFontDialog::DontUseNativeDialog0x00000002Mac では、Apple のネイティブフォントパネルの代わりに、Qt の標準フォントダイアログを使用します。
QFontDialog::ScalableFonts0x00000004スケーラブルなフォントを表示する
QFontDialog::NonScalableFonts0x00000008スケーラブルでないフォントを表示
QFontDialog::MonospacedFonts0x00000010等幅フォントを表示する
QFontDialog::ProportionalFonts0x00000020プロポーショナルフォントを表示する

FontDialogOptions 型は、QFlags<FontDialogOption> の typedef です。これは、FontDialogOption 値の OR 組み合わせを格納します。

options 、setOption()、およびtestOption()も参照してください 。

プロパティのドキュメント

currentFont : QFont

このプロパティは、ダイアログの現在のフォントを保持します。

アクセス関数:

QFont currentFont() const
void setCurrentFont(const QFont &font)

通知シグナル:

void currentFontChanged(const QFont &font)

options : FontDialogOptions

このプロパティには、ダイアログの外観や操作感に影響を与えるさまざまなオプションが格納されています

デフォルトでは、すべてのオプションは無効になっています。

オプションは、ダイアログを表示する前に設定する必要があります。ダイアログが表示されている状態で設定しても、その変更がダイアログに即座に反映されるとは限りません(オプションやプラットフォームによって異なります)。

アクセス関数:

QFontDialog::FontDialogOptions options() const
void setOptions(QFontDialog::FontDialogOptions options)

関連項目: setOption() およびtestOption()。

メンバ関数のドキュメント

[explicit] QFontDialog::QFontDialog(QWidget *parent = nullptr)

標準のフォントダイアログを作成します。

setCurrentFont() を使用して、初期のフォント属性を設定します。

parent パラメータは、QDialog コンストラクタに渡されます。

getFont()も参照してください 。

[explicit] QFontDialog::QFontDialog(const QFont &initial, QWidget *parent = nullptr)

指定されたparent と、指定されたinitial フォントを使用して、標準のフォントダイアログを作成します。

[override virtual protected] void QFontDialog::changeEvent(QEvent *e)

QWidget::changeEvent(QEvent *event) を再実装します。

QFont QFontDialog::currentFont() const

現在のフォントを返します。

注: プロパティ currentFontのゲッター 関数です。

関連項目: setCurrentFont() およびselectedFont()。

[signal] void QFontDialog::currentFontChanged(const QFont &font)

このシグナルは、現在のフォントが変更されたときに発生します。新しいフォントは、font で指定されます。

このシグナルは、ユーザーがフォントを選択している間に発火します。最終的に選択されるフォントは、現在選択されているフォントとは異なる場合があります。

注: プロパティ `currentFont` に対する通知 シグナルです。

関連項目: currentFont 、fontSelected()、およびselectedFont()。

[override virtual protected] void QFontDialog::done(int result)

QDialog::done(int r) を再実装します。

ダイアログを閉じ、その結果コードをresult に設定します。このダイアログがexec()によって表示された場合、done()の呼び出しによりローカルイベントループが終了し、exec()はresult を返します。

QDialog::done()も参照してください 。

[signal] void QFontDialog::fontSelected(const QFont &font)

このシグナルは、フォントが選択されたときに発火します。選択されたフォントは、font で指定されます。

このシグナルは、ユーザーが使用する最終的なフォントを選択したときにのみ発せられます。ユーザーがフォントダイアログで現在のフォントを変更している間は発せられません。

selectedFont()、currentFontChanged()、およびcurrentFontも参照してください 。

[static] QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())

モーダルなフォントダイアログを表示し、フォントを返します。

ユーザーがOK をクリックした場合、選択されたフォントが返されます。ユーザーがCancel をクリックした場合、initial フォントが返されます。

ダイアログは、指定されたparent とoptions で指定されたオプションに基づいて作成されます。「title 」がダイアログのウィンドウタイトルとして表示され、「initial 」が初期選択フォントとなります。ok パラメータがnullでない場合、ユーザーがOK をクリックすると、そのパラメータが参照する値はtrueに設定され、Cancel をクリックするとfalseに設定されます。

例:

bool ok;
QFont font = QFontDialog::getFont(&ok, QFont("Times", 12), this);
if (ok) {
    // font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the initial
    // value, in this case Times, 12.
}

このダイアログを使用して、ウィジェットのフォントを直接設定することもできます:

myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));

この例では、ユーザーが「OK」をクリックすると選択したフォントが使用され、「キャンセル」をクリックすると元のフォントが使用されます。

[static] QFont QFontDialog::getFont(bool *ok, QWidget *parent = nullptr)

モーダルなフォントダイアログを表示し、フォントを返します。

ユーザーがOK をクリックした場合、選択されたフォントが返されます。ユーザーがCancel をクリックした場合、Qtのデフォルトフォントが返されます。

ダイアログは、指定されたparent に基づいて構築されます。ok パラメータがnullでない場合、ユーザーがOK をクリックすると、そのパラメータが参照する値はtrueに設定され、Cancel をクリックするとfalseに設定されます。

例:

bool ok;
QFont font = QFontDialog::getFont(&ok, this);
if (ok) {
    // font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the default
    // application font, QApplication::font()
}

これはオーバーロードされた関数です。

void QFontDialog::open(QObject *receiver, const char *member)

ダイアログを開き、そのfontSelected()シグナルを、receiver およびmember で指定されたスロットに接続します。

ダイアログが閉じられると、そのシグナルはスロットから切り離されます。

QFont QFontDialog::selectedFont() const

OK または同等のボタンをクリックしてユーザーが選択したフォントを返します。

注: ユーザーが最終的に使用するフォントを決定する前に、別のフォントを選択する場合があるため、この フォントは 必ずしもcurrentFont プロパティに設定されているフォントと同じとは限りません。

void QFontDialog::setCurrentFont(const QFont &font)

QFontDialog で強調表示されているフォントを、指定されたfont に設定します。

注: プロパティ `currentFont`のセッター 関数です。

currentFont() およびselectedFont()も参照してください 。

void QFontDialog::setOption(QFontDialog::FontDialogOption option, bool on = true)

on がtrueの場合、指定されたoption を有効にします。そうでない場合は、指定されたoption をクリアします。

options およびtestOption()も参照してください 。

[override virtual] void QFontDialog::setVisible(bool visible)

QDialog::setVisible (bool visible)を再実装します。

bool QFontDialog::testOption(QFontDialog::FontDialogOption option) const

指定されたoption が有効な場合はtrue を返し、そうでない場合はfalseを返します。

options およびsetOption()も参照してください 。

© 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.