qt QFontDialog详解

1、概述

QFontDialog 是 Qt 框架中的一个对话框类,用于选择字体。它提供了一个可视化的界面,允许用户选择所需的字体以及相关的属性,如字体样式、大小、粗细等。用户可以通过对话框中的选项进行选择,并实时预览所选字体的效果。QFontDialog 继承自 QDialog,是创建字体选择对话框的标准方式。

2、重要方法
  • QFontDialog(QWidget *parent = nullptr): 构造函数,创建一个新的 QFontDialog 对象。parent 是可选的父窗口参数。
  • static QFont getFont(bool *ok = nullptr, QWidget *parent = nullptr): 静态函数,显示字体对话框并返回用户选择的字体。如果 ok 不为 nullptr,则当用户点击“确定”时,*ok 将被设置为 true,否则为 falseparent 是可选的父窗口参数。
  • void setFont(const QFont &font): 设置字体对话框中默认显示的字体。
  • void setOption(QFontDialog::FontDialogOption option, bool on = true): 设置字体对话框的选项。option 是要设置的选项,on 指定该选项是否启用。

3、重要信号
  • currentFontChanged(const QFont &font): 当字体对话框中当前选择的字体发生变化时发射此信号。font 是新的字体。
  • fontSelected(const QFont &font): 当用户在字体对话框中选择字体并点击“确定”时发射此信号。font 是用户选择的字体。
#include <QApplication>  
#include <QWidget>  
#include <QLabel>  
#include <QPushButton>  
#include <QVBoxLayout>  
#include <QFontDialog>  
#include <QDebug>  class FontDialogDemo : public QWidget {  Q_OBJECT  public:  FontDialogDemo(QWidget *parent = nullptr) : QWidget(parent) {  QVBoxLayout *layout = new QVBoxLayout(this);  QLabel *label = new QLabel("请选择一个字体:", this);  layout->addWidget(label);  QPushButton *button = new QPushButton("选择字体", this);  layout->addWidget(button);  connect(button, &QPushButton::clicked, this, &FontDialogDemo::onFontButtonClicked);  this->labelToUpdate = new QLabel("Font Dialog 例子", this);  layout->addWidget(this->labelToUpdate);  this->setLayout(layout);  this->setWindowTitle("Font Dialog 例子");  }  private slots:  void onFontButtonClicked() {  bool ok;  QFont font = QFontDialog::getFont(&ok, this);  if (ok) {  this->labelToUpdate->setFont(font);  qDebug() << "选择的字体:" << font.family();  qDebug() << "字体大小:" << font.pointSize();  qDebug() << "字体是否加粗:" << font.bold();  qDebug() << "字体是否是斜体:" << font.italic();  }  }  private:  QLabel *labelToUpdate;  
};  int main(int argc, char *argv[]) {  QApplication app(argc, argv);  FontDialogDemo demo;  demo.show();  return app.exec();  
}  

觉得有帮助的话,打赏一下呗。。

           

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为2288HV2服务器安装BCLinux8U6无法显示完整安装界面的问题处理

本文记录了华为2288HV2服务器安装BCLinux8U6无法显示完整安装界面&#xff0c;在安装过程中配置选择时&#xff0c;右侧安装按钮不可见&#xff0c;导致安装无法继续的问题处理过程。 一、问题现象 华为2288HV2服务器安装BCLinux8U6时无法显示完整的安装界面&#xff0c;问题…

人工智能技术的未来展望:变革行业、优化生活与工作方式的无限可能

文章目录 每日一句正能量前言人工智能技术的发展历程和现状人工智能的应用领域人工智能的前景 人工智能的未来1. AI技术的应用前景是乐观的2. AI技术的发展需要跨学科合作3. AI技术的伦理和隐私问题不容忽视4. AI技术可能带来的就业问题需要重视5. AI技术的发展需要全球合作6. …

【LuatOS】修改LuatOS源码为PC模拟器添加高精度时间戳库timeplus

0x00 缘起 LuatOS以及Lua能够提供微秒或者毫秒的时间戳获取工具&#xff0c;但并没有提供获取纳秒的工具。通过编辑LuatOS源码以及相关BSP源码&#xff0c;添加能够获取纳秒的timeplus库并重新编译&#xff0c;以解决在64位Windows操作系统中LuatOS模拟器获取纳秒的问题&#…

7.2 设计模式

设计模式 7.3.1 设计模式的要素7.3.2 创建型设计模式7.3.3 结构性设计模式1. Adapter (适配器)2. Bridge(桥接)3.Composite(组合)4.Decorator(装饰)5.Facade(外观)6.Flyweight(享元)7.Proxy(代理)8. 结构型模式比较 7.3.4 行为型设计模式1 Chain of Responsibility [ &#xff…

数字信号处理Python示例(6)使用指数衰减函数建模放射性衰变过程

文章目录 前言一、放射性衰变方程二、放射性衰变过程的Python仿真三、仿真结果分析写在后面的话 前言 使用指数衰减函数对放射性衰变进行了建模仿真&#xff0c;给出完整的Python仿真代码&#xff0c;并对仿真结果进行了分析。 一、放射性衰变方程 放射性衰变是一种自然现象&…

大数据新视界 -- 大数据大厂之 Impala 与内存管理:如何避免资源瓶颈(上)(5/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

AntFlow一款开源免费且自主可控的仿钉钉工作流引擎

在现代企业管理中&#xff0c;流程审批的高效性直接影响到工作的流畅度与生产力。最近&#xff0c;我发现了一个非常有趣的项目——AntFlow。这个项目不仅提供了一个灵活且可定制的工作流平台&#xff0c;还能让用户以可视化的方式创建和管理审批流程。 如果你寻找一个快速集成…

理解 WordPress | 第二篇:结构化分析

WordPress 专题致力于从 0 到 1 搞懂、用熟这种可视化建站工具。 第一阶段主要是理解。 第二阶段开始实践个人博客、企业官网、独立站的建设。 如果感兴趣&#xff0c;点个关注吧&#xff0c;防止迷路。 WordPress 的内容和功能结构可以按照层级来划分&#xff0c;这种层次化的…

省级-社会保障水平数据(2007-2022年)

社会保障水平是一个综合性的概念&#xff0c;它不仅涉及到一个国家或地区的社会保障制度覆盖范围&#xff0c;还包括了提供的保障种类与水平&#xff0c;以及这些制度在满足公民基本生活需求方面的能力。 2007-2022年省级-社会保障水平数据.zip资源-CSDN文库https://download.…

【毫米波雷达(三)】汽车控制器启动流程——BootLoader

汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)&#xff1f;二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)&#xff1f; BT就是一段程序&#xff0c;一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…

计算机网络——网络层导论

转发是局部功能——数据平面 路由是全局的功能——控制平面 网卡 网卡&#xff0c;也称为网络适配器&#xff0c;是计算机硬件中的一种设备&#xff0c;主要负责在计算机和网络之间进行数据传输。 一、主要功能 1、数据传输&#xff1a; 发送数据时&#xff0c;网卡将计算机…

使用 Python 调用云 API 实现批量共享自定义镜像

本文介绍如何通过 Python SDK 调用 API 接口&#xff0c;通过子用户批量共享云服务器自定义镜像。若您具备类似需求&#xff0c;或想了解如何使用 SDK&#xff0c;可参考本文进行操作。 前提条件 已创建子用户&#xff0c;并已具备云服务器及云 API 所有权限。 创建子用户请…

[mysql]修改表和课后练习

目录 DDL数据定义语言 添加一个字段 添加一个字段到最后一个 添加到表中的第一个一个字段 选择其中一个位置: 修改一个字段:数据类型,长度,默认值(略) 重命名一个字段 删除一个字段 重命名表 删除表 清空表 DCL中事务相关内容 DCL中COMMIT和ROLLBACK的讲解 对比TR…

Python异常检测 - LSTM(长短期记忆网络)

系列文章目录 Python异常检测- Isolation Forest&#xff08;孤立森林&#xff09; python异常检测 - 随机离群选择Stochastic Outlier Selection (SOS) python异常检测-局部异常因子&#xff08;LOF&#xff09;算法 Python异常检测- DBSCAN Python异常检测- 单类支持向量机(…

常见Transformer位置编码

文章目录 概述绝对位置编码相对位置编码T5 BiasALiBiRoPE 参考资料 概述 相对于RNN这样的序列模型来说&#xff0c;Transformer可并行是一个很大的优势&#xff0c;但可并行性带来一个问题&#xff0c;由于不是从前到后&#xff0c;所以模型对于位置信息是不敏感的。于是在Tra…

【IEEE出版 | EI稳定检索】2024智能机器人与自动控制国际学术会议 (IRAC 2024,11月29-12月1日)

2024智能机器人与自动控制国际学术会议 &#xff08;IRAC 2024&#xff09; 2024 International Conference on Intelligent Robotics and Automatic Control 官方信息 会议官网&#xff1a;www.icirac.org 2024 International Conference on Intelligent Robotics and Autom…

Golang | Leetcode Golang题解之第535题TinyURL的加密与解密

题目&#xff1a; 题解&#xff1a; import "math/rand"type Codec map[int]stringfunc Constructor() Codec {return Codec{} }func (c Codec) encode(longUrl string) string {for {key : rand.Int()if c[key] "" {c[key] longUrlreturn "http:/…

影响神经网络速度的因素- FLOPs、MAC、并行度以及计算平台

影响神经网络速度的四个主要因素分别是 FLOPs&#xff08;浮点操作数&#xff09;、MAC&#xff08;内存访问成本&#xff09;、并行度以及计算平台。这些因素共同作用&#xff0c;直接影响到神经网络的计算速度和资源需求。 1. FLOPs&#xff08;Floating Point Operations&a…

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十六章 C++入门

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

小菜家教平台:基于SpringBoot+Vue打造一站式学习管理系统

前言 现在已经学习了很多与Java相关的知识&#xff0c;但是迟迟没有进行一个完整的实践&#xff08;之前这个项目开发到一半&#xff0c;很多东西没学搁置了&#xff0c;同时原先的项目中也有很多的问题&#xff09;&#xff0c;所以现在准备从零开始做一个基于SpringBootVue的…