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);
}
相关推荐
骑着蜗牛撵大象3279 分钟前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102161 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷1 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang1 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5202 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵4 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
AI吃大瓜4 小时前
指针压力表读数3:C/C++实现指针压力表读数(可实时检测)
c++·指针读数·指针压力表·压力表自动读数·压力表读数
-银雾鸢尾-4 小时前
两数之和-C++实现
c++·算法
j7~4 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
jimy14 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++