字体对话框QFontDialog
QFontDialog
是 Qt 内置的字体对话框,用户能够在这里选择字体的样式、大小,设置加粗和下划线并将结果作为返回值返回。QFontDialog
最好使用其提供的静态函数实例化匿名对象,并获取返回值最为用户选择字体设置的结果。
函数声明:
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)
getFont()
的成员函数有两个重载。
ok
布尔值是用于判断用户是点击了确定还是取消了字体设置。
initial
是字体对话框开启时的默认字体样式选择。
使用QFontDialog设置字体并获取返回结果
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFontDialog>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("新宋体",25));
qDebug()<<"字体:"<<font.family();
qDebug()<<"字号:"<<font.pointSize();
qDebug()<<"是否加粗:"<<font.bold();
qDebug()<<"是否斜体:"<<font.italic();
ui->pushButton->setFont(font);
}