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);
}
相关推荐
linweidong3 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
冷雨夜中漫步7 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
半桔8 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo8 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春9 小时前
C++之多重继承
c++·多重继承
m0_736919109 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
黎雁·泠崖10 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724611 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!11 小时前
【C++】std::promise原理与实战解析
c++