QFontDialog Class
QFontDialog クラスは、フォントを選択するためのダイアログウィジェットを提供します。詳細...
| ヘッダー: | #include <QFontDialog> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QDialog |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QFontDialog はStandard Dialogs の一部です。
パブリック型
| enum | FontDialogOption { NoButtons, DontUseNativeDialog, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts } |
| flags | FontDialogOptions |
プロパティ
- currentFont : QFont
- options : 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 に適用され、「キャンセル」をクリックした場合は元のフォントが使用されます。

関連項目: QFont 、QFontInfo 、QFontMetrics 、QColorDialog 、QFileDialog 、および「標準ダイアログの例」。
メンバ型のドキュメント
enum QFontDialog::FontDialogOption
flags QFontDialog::FontDialogOptions
この列挙型は、フォントダイアログの見た目や操作感に影響を与えるさまざまなオプションを指定します。
たとえば、どの種類のフォントを表示するかを指定することができます。何も指定しない場合は、利用可能なすべてのフォントが一覧表示されます。
一部のプラットフォーム(Macなど)では、フォントのフィルタリングオプションがサポートされていない場合があることに注意してください。これらのオプションは、非ネイティブのダイアログ(Windows や Linux で使用されるもの)では常にサポートされています。
| 定数 | 値 | 説明 |
|---|---|---|
QFontDialog::NoButtons | 0x00000001 | OK およびCancel ボタンを表示しない。(「ライブダイアログ」に有用です。) |
QFontDialog::DontUseNativeDialog | 0x00000002 | Mac では、Apple のネイティブフォントパネルの代わりに、Qt の標準フォントダイアログを使用します。 |
QFontDialog::ScalableFonts | 0x00000004 | スケーラブルなフォントを表示する |
QFontDialog::NonScalableFonts | 0x00000008 | スケーラブルでないフォントを表示 |
QFontDialog::MonospacedFonts | 0x00000010 | 等幅フォントを表示する |
QFontDialog::ProportionalFonts | 0x00000020 | プロポーショナルフォントを表示する |
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を返します。
© 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.