自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 收藏
  • 关注

原创 第9章 图形动画

Qt Widgets中的2D绘图系统基于QPainter、QPaintDevice和QPaintEngine三个核心类,支持自定义部件绘制。QPainter提供了丰富的绘图函数,可在QPaintDevice派生类(如QWidget、QPixmap)上绘制图形。通过重写paintEvent()实现自定义绘制,建议使用update()而非repaint()触发重绘以避免性能问题。绘图时可设置QPen(画笔)和QBrush(画刷)属性,前者控制线条样式,后者定义填充效果,支持纯色、图案和渐变填充。QGradien

2025-12-17 15:55:50 286

原创 第8章 界面外观

Qt提供了强大的界面外观定制功能,主要包括样式(QStyle)和样式表两种方式。QStyle类封装了GUI外观样式,可通过QStyleFactory创建不同平台风格的样式,如Windows、Fusion等。开发者可以通过setStyle()方法为整个应用或单个部件设置样式,还支持通过命令行参数指定样式。 调色板(QPalette)允许自定义部件的颜色组,支持激活、非激活和失效三种状态。开发者可以修改应用程序或特定部件的调色板,实现颜色定制。 Qt样式表借鉴了CSS语法,支持通过代码或设计模式设置。样式表可以

2025-11-28 17:16:34 564

原创 第7章 事件系统

本文介绍了Qt中的事件处理机制,主要包括以下内容: Qt事件的基本概念和分类,如鼠标事件、键盘事件等,通过QEvent类及其子类表示。 5种事件处理方法: 重写特定事件处理函数 重写notify()函数 安装应用级事件过滤器 重写event()函数 安装对象级事件过滤器 事件传递顺序:从事件过滤器到event()函数,再到事件处理函数,最后到父部件处理。 通过示例演示了键盘事件的传递过程,展示了不同处理方法的调用顺序。 介绍了鼠标事件和滚轮事件的处理,包括拖动窗口、改变指针形状等功能实现。 文章详细讲解了Q

2025-11-26 14:02:26 951

原创 第6章 主窗口

本文介绍了Qt应用程序主窗口的两种实现方式:基于Qt Widgets的QMainWindow框架和基于Qt Quick的ApplicationWindow控件。重点讲解了Qt Widgets主窗口的五大组件:菜单栏、工具栏、中心部件、Dock部件和状态栏。详细说明了如何通过设计模式和代码方式添加菜单栏和工具栏,包括QAction动作的创建与设置、QActionGroup的使用方法。同时介绍了中心部件的布局管理,支持单文档和多文档界面,以及QTextEdit、QPlainTextEdit等文本编辑控件的特性。

2025-11-24 09:31:11 831

原创 第5章 信号和槽

Qt的信号和槽机制是核心特性,用于对象间通信。信号是事件触发的函数,槽是响应信号的函数。5.1节介绍了基本用法:通过connect()关联信号和槽,演示了按钮点击触发对话框的实例;讲解了如何在设计器可视化设置信号槽连接;展示了自定义对话框的实现及模态对话框的返回值处理。5.2节深入解析机制特性,说明信号可连接多个槽、槽可连接多个信号,并通过示例演示了自定义信号发射(emit)和槽函数接收的完整流程,实现了数值传递功能。该机制相比回调更灵活安全,是Qt区别于其他框架的重要特征。

2025-11-20 17:34:30 739

原创 第4章 布局管理

本文介绍了Qt中的布局管理系统,重点讲解了Qt Widgets中的四种布局管理器(QBoxLayout、QGridLayout、QFormLayout、QStackedLayout)及其应用方法。内容包括基本布局原理、部件大小控制策略、伸缩因子设置以及综合布局实践。另外还介绍了可扩展窗口的实现方式,通过布局管理器自动调整特性来隐藏/显示子部件。文章配有代码示例和示意图,详细说明了如何通过布局管理器实现界面的自适应调整和美观排列。

2025-11-19 15:08:53 645

原创 第3章 窗口部件

Qt提供了两种GUI开发方式:Qt Widgets和Qt Quick。Qt Widgets基于QWidget类,是所有窗口部件的基类,支持窗口、子部件、几何布局和边框样式设置等特性。QFrame类及其子类(如QLabel)可实现不同边框效果和文本/图片显示功能。按钮部件包括QPushButton、QCheckBox、QRadioButton等,支持文本、图标和菜单功能。这些基础部件为构建传统桌面应用提供了完整的UI元素支持。

2025-11-17 18:15:20 1051

原创 第2章 Hello World

本文详细介绍了创建和运行Qt Widgets应用的基本步骤。首先通过向导创建helloworld项目,配置项目名称、路径、构建系统等参数。然后讲解Qt Creator的编辑模式和设计模式界面布局,以及项目文件的结构组成,重点分析.pro文件的模块配置和语法。最后演示程序的编译运行过程,生成可执行文件。文中配有完整的操作截图和关键代码示例,适合初学者快速掌握Qt应用开发流程。

2025-11-14 14:10:54 1103

原创 第1章 认识Qt

Qt是一个跨平台的C++开发框架,支持桌面和移动应用开发,提供Qt Widgets和Qt Quick两种UI技术。Qt 6是其最新版本,具有开源和商业两种授权模式。Qt Creator是集成的开发环境,提供代码编辑、调试等功能。安装Qt需下载在线安装程序,选择对应版本组件,并注意安装路径不能含中文。Qt特色包括跨平台部署、丰富的工具链和API支持,适合从传统桌面到现代触摸屏应用的开发。

2025-11-12 15:52:46 928

原创 条款42:考虑使用就地构造而非插入

Effective Modern C++之条款42

2025-11-08 11:30:18 1306

原创 条款41:对于移动成本低且总是被拷贝的可拷贝形参,请考虑传递值

Effective Modern C++之条款41

2025-11-08 10:39:41 672

原创 条款40:对并发使用std::atomic,对特殊内存使用volatile

Effective Modern C++之条款40

2025-11-07 17:11:41 1256

原创 条款39:考虑为一次性的通信事件使用无返回值的期值

Effective Modern C++之条款39

2025-11-07 14:33:45 722

原创 条款38:注意线程句柄析构函数的各种不同行为

Effective Modern C++之条款38

2025-11-06 18:18:36 866

原创 条款37:在所有路径上使 std::thread 不可汇合

Effective Modern C++之条款37

2025-11-06 15:27:16 750

原创 条款36:如果异步是必需的,请指定为std::launch::async

Effective Modern C++之条款36

2025-11-06 14:20:51 688

原创 条款35:优先选择基于任务的而不是基于线程的程序设计

Effective Modern C++之条款35

2025-11-01 13:06:11 468

原创 条款34:首选 Lambda 而不是 std::bind

Effective Modern C++之条款34

2025-11-01 11:55:28 657

原创 条款33:在 auto&& 参数上使用 decltype 来对它们进行 std::forward

Effective Modern C++之条款33

2025-11-01 11:23:08 249

原创 条款32:使用初始化捕获将对象移动到闭包中

Effective Modern C++之条款32

2025-11-01 11:08:15 291

原创 条款31:避免默认捕获模式

Effective Modern C++之条款31

2025-11-01 10:30:59 868

原创 条款30:熟悉完美转发失败的情况

Effective Modern C++之条款30

2025-10-28 20:15:42 580

原创 条款29:假设移动操作不存在、不高效且未使用

Effective Modern C++之条款29

2025-10-28 19:47:33 315

原创 条款28:理解引用折叠

Effective Modern C++之条款28

2025-10-28 18:20:02 886

原创 条款27:熟悉通用引用重载的替代方案

Effective Modern C++之条款27

2025-10-28 14:13:18 808

原创 条款26:避免在通用引用上重载

Effective Modern C++之条款26

2025-10-28 10:47:28 1075

原创 条款25:对右值引用使用 std::move,对通用引用使用 std::forward

Effective Modern C++之条款25

2025-10-27 16:52:36 547

原创 条款24:区分通用引用和右值引用

Effective Modern C++之条款24

2025-10-27 15:21:23 657

原创 条款23:理解std::move和std::forward

Effective Modern C++之条款23

2025-10-27 13:57:58 887

原创 条款22:使用Pimpl惯用法时,将特种成员函数的定义放到实现文件中

Effective Modern C++之条款22

2025-10-27 10:38:29 604

原创 条款21:优先选用std::make_unique、std::make_shared,而非直接new

Effective Modern C++之条款21

2025-10-25 13:39:42 479

原创 条款20:对于类似std::shared_ptr但有可能空悬的指针使用std::weak_ptr

Effective Modern C++之条款20

2025-10-25 11:02:24 560

原创 条款19:使用 std::shared_ptr 管理具备共享所有权的资源

Effective Modern C++之条款19

2025-10-23 10:51:05 874

原创 条款18:使用 std::unique_ptr 管理具备专属所有权的资源

Effective Modern C++之条款18

2025-10-21 18:23:27 749

原创 条款17:理解特种成员函数的生成机制

Effective Modern C++之条款17

2025-10-18 11:41:29 701

原创 条款16:保证const成员函数的线程安全性

Effective Modern C++之条款16

2025-10-18 11:12:22 357

原创 条款15:只要能使用constexpr,就使用它

Effective Modern C++之条款15

2025-10-08 10:56:25 847

原创 条款14:只要函数不会抛出异常,就为其加上noexcept声明

Effective Modern C++之条款14

2025-09-30 09:43:34 608

原创 条款13:优先选用const_iterator,而非iterator

Effective Modern C++之条款13

2025-09-23 18:07:50 210

原创 条款12:为意在重写的函数添加override声明

Effective Modern C++之条款12

2025-09-23 17:26:23 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除