Qt窗口控件之字体对话框QFontDialog

字体对话框QFontDialog

QFontDialog 是 Qt 内置的字体对话框,用户能够在这里选择字体的样式、大小,设置加粗和下划线并将结果作为返回值返回。QFontDialog 最好使用其提供的静态函数实例化匿名对象,并获取返回值最为用户选择字体设置的结果。

函数声明:

cpp 复制代码
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设置字体并获取返回结果

cpp 复制代码
#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);
}
相关推荐
zhuzhuxia⌓‿⌓10 分钟前
线性表的顺序和链式存储
数据结构·c++·算法
小苏兮14 分钟前
【C++】stack与queue的使用与模拟实现
开发语言·c++
杨小码不BUG1 小时前
小鱼的数字游戏:C++实现与算法分析(洛谷P1427)
c++·算法·数组·信奥赛·csp-j/s
高山有多高1 小时前
栈:“后进先出” 的艺术,撑起程序世界的底层骨架
c语言·开发语言·数据结构·c++·算法
蔗理苦1 小时前
2025-10-07 Python不基础 19——私有对象
开发语言·python·私有对象
普罗米修斯1 小时前
C++ 设计模式理论与实战大全【共73课时】
c++·后端
普罗米修斯1 小时前
C++ 设计模式原理与实战大全-架构师必学课程 | 完结
c++·后端
greentea_20132 小时前
Codeforces Round 65 C. Round Table Knights(71)
c语言·开发语言·算法
小秋学嵌入式-不读研版2 小时前
C61-结构体数组
c语言·开发语言·数据结构·笔记·算法
Evand J2 小时前
组合导航的MATLAB例程,二维平面上的CKF滤波,融合IMU和GNSS数据,仿真,观测为X和Y轴的坐标,附代码下载链接
开发语言·matlab·平面·imu·组合导航