对话框(06):【类】QFontDialog [官翻]

本文详细介绍了QFontDialog类的功能,包括如何创建字体对话框、提供的FontDialogOption枚举用于定制对话框外观、属性设置和公共方法。重点讲解了不同选项的作用和使用场景,以及其在实际开发中的应用实例。
摘要由CSDN通过智能技术生成

QFontDialog Class

QFontDialog类提供了一个用于选择字体的对话框小部件。

Header#include < QFontDialog >
qmakeQT += widgets
InheritsQDialog
Inherited By

详细说明

字体对话框是通过一个静态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,如果单击Cancel,则使用原始字体。

A font dialog in the Fusion widget style.

公共类型

enum QFontDialog::FontDialogOption

flags QFontDialog::FontDialogOptions

此枚举指定影响字体对话框外观的各种选项。

例如,它允许指定应显示的字体类型。如果未指定任何字体,将列出所有可用字体。
请注意,某些平台(如Mac)可能不支持字体筛选选项。非本机对话框(在Windows或Linux上使用)始终支持它们。

ConstantValueDescription
QFontDialog::NoButtons0x00000001不显示“确定”和“取消”按钮。(适用于“实时对话”。)
QFontDialog::DontUseNativeDialog0x00000002在Mac上使用Qt的标准字体对话框,而不是Apple的本机字体面板。
QFontDialog::ScalableFonts0x00000004显示可缩放字体
QFontDialog::NonScalableFonts0x00000008显示不可缩放字体
QFontDialog::MonospacedFonts0x00000010显示等距字体
QFontDialog::ProportionalFonts0x00000020显示比例字体

属性

  1. currentFont: QFont 保存对话框的当前字体

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

    Notifier signal:

    • QFont currentFont() const
    • void setCurrentFont(const QFont &font)
  2. options: FontDialogOptions 包含影响对话框外观的各种选项

    默认情况下,禁用所有选项。
    应在显示对话框之前设置选项。在对话框可见时设置它们不能保证对对话框产生直接影响(取决于选项和平台)。

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

公共函数

构造和析构

  • QFontDialog(const QFont &initial, QWidget *parent = nullptr)
  • QFontDialog(QWidget *parent = nullptr)

属性相关

  • QFont currentFont() const
    void setCurrentFont(const QFont &font)
  • QFontDialog::FontDialogOptions options() const
    void setOptions(QFontDialog::FontDialogOptions options)

其它

  • void open(QObject *receiver, const char *member)
  • QFont selectedFont() const
  • bool testOption(QFontDialog::FontDialogOption option) const
    void setOption(QFontDialog::FontDialogOption option, bool on = true)

重写的公共函数

  • 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值