欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog

【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog

2025/2/23 0:41:52 来源:https://blog.csdn.net/m0_74014525/article/details/139635725  浏览:    关键词:【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt窗口 | 标准对话框 | 字体对话框QFontDialog

文章编号:Qt 学习笔记 / 57

文章目录

  • Qt窗口 | 标准对话框 | 字体对话框QFontDialog
    • 一、QFontDialog介绍
      • 1. 简介
      • 2. 常用方法
    • 二、QFontDialog使用
      • 1. 创建字体对话框并返回字体
      • 2. 使用字体对话框改变标签中的文本样式


一、QFontDialog介绍

1. 简介

QFontDialog是Qt框架中的一个对话框类,用于选择字体。

QFontDialog提供了一个可视化的界面,允许用户选择所需的字体以及相关的属性,如字体样式、大小、粗细等。用户可以通过对话框中的选项进行选择,并实时预览所选字体的效果。

在这里插入图片描述

2. 常用方法

QFontDialog(parent):创建一个新的 QFontDialog 对象,parent 是可选的父窗口。

QFontDialog * dialog = new QFontDialog(this);

getFont():静态函数,显示字体对话框并返回用户选择的字体。返回值是一个 QFont 对象。

bool ok =false;
QFont font = QFontDialog::getFont(&ok);

setFont(font):设置默认显示的字体为 font。

QLabel *label = new QLabel(this);
label->setFont(font);

setOption(option, on):设置对话框的选项。常用的选项有:

QFontDialog.NoButtons:隐藏对话框上的 OK 和 Cancel 按钮。
QFontDialog.Scoped:将对话框作为模态对话框显示。

二、QFontDialog使用

1. 创建字体对话框并返回字体

在界面中创建一个按钮PushButt来触发字体对话框
在这里插入图片描述

右键点击按钮生成槽函数,点击clicked
在这里插入图片描述
对生成的槽函数进行编辑,在日志中打印在字体对话框中选择的字体

void MainWindow::on_pushButton_clicked()
{bool ok =false;QFont font = QFontDialog::getFont(&ok);qDebug()<<font;//所选择的字体qDebug()<<font.family();//字体的大小qDebug()<<font.pointSize();//字体是否加粗qDebug()<<font.bold();//字体是否是斜体qDebug()<<font.italic();
}

运行结果,在日志中进行打印所选择的字体型号、大小、加粗和斜体。

在这里插入图片描述
在这里插入图片描述

2. 使用字体对话框改变标签中的文本样式

在上述代码中字体文本框返回的是QFont类,我们可以将这个返回的值进行设置到其他控件中。(这里以Label举例)在原本的界面中添加一个Label控件。
在这里插入图片描述
对上述按钮生成的槽函数,进行修改,使用setFont()函数设置文本到控件中,代码如下

void MainWindow::on_pushButton_clicked()
{bool ok =false;QFont font = QFontDialog::getFont(&ok);
//    qDebug()<<font;
//    qDebug()<<font.family();
//    qDebug()<<font.pointSize();
//    qDebug()<<font.bold();
//    qDebug()<<font.italic();ui->label->setFont(font);
}

运行结果
在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词