[static] QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())
执行模式字体对话框并返回字体。
如果用户单击“确定”,则返回所选字体。 如果用户单击“取消”,则返回初始字体。
该对话框由给定的父项和options中指定的选项构成。 标题显示为对话框的窗口标题,而initial是最初选择的字体。 如果ok参数不为null,则在用户单击“确定”时将其引用的值设置为true,在用户单击“取消”的情况下将其设置为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.
}
使用示例:
#include <QFontDialog>
// 字体对话框
void MyWidget::on_pushButton_3_clicked()
{
// ok用于标记是否按下了“OK”按钮
bool ok;
QFont font = QFontDialog::getFont(&ok, this);
// 如果按下“OK”按钮,那么让“字体对话框”按钮使用新字体
// 如果按下“Cancel”按钮,那么输出信息
if (ok) ui->pushButton_3->setFont(font);
else qDebug() << tr("没有选择字体!");
}