
Qt6 For C++ (全集)
文章平均质量分 94
专注 Qt6 与 C++ 开发,系统拆解信号与槽、UI 设计、多线程等核心模块,结合实战演示环境搭建至项目开发全流程。覆盖 Qt6 新特性、跨平台开发技巧、性能优化等内容,兼顾入门与进阶,助你掌握用 C++ 高效开发跨平台应用的核心技能,适合开发爱好者与从业者学习。
丰收连山
本人博客均为原创。如需搬运,请标明出处。祝国泰民安,码农庆丰收。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt6 for C++开发——下
Qt6是跨平台C++开发框架,支持多系统,具备性能优化、新模块与功能,广泛应用于开发界面友好、交互流畅的应用与程序。原创 2025-04-26 01:32:47 · 710 阅读 · 0 评论 -
Qt6 for C++开发——中
Qt6是跨平台C++开发框架,支持多系统,具备性能优化、新模块与功能,广泛应用于开发界面友好、交互流畅的应用与程序。原创 2025-04-26 01:31:57 · 902 阅读 · 0 评论 -
Qt6 for C++开发——上
Qt6 是跨平台 C++ 开发框架,支持多系统,具备性能优化、新模块与功能,广泛应用于开发界面友好、交互流畅的应用与程序。原创 2025-04-26 01:29:14 · 895 阅读 · 0 评论 -
使用CLION开发Qt For C++详解
CMake是一个跨平台的自动化构建系统,用于管理软件构建过程。它使用独立于编译器的配置文件(CMakeLists.txt)来生成标准的构建文件(如Makefile或Visual Studio项目文件)。在CLion中创建Qt项目时,选择CMake项目模板是最常见且推荐的方式。CLion内置了对CMake的支持,而Qt框架本身也很好地集成了CMake构建系统(通过Qt6或Qt5的CMake模块)。构建目录是用于存放项目构建过程中生成的中间文件和最终输出文件的独立目录。原创 2025-04-27 20:19:00 · 1294 阅读 · 0 评论 -
构建Qt应用——QMake与CMake的区别
QMake和CMake是两种广泛应用于跨平台开发的构建工具。QMake由Qt公司开发,专为简化Qt项目的构建过程而设计,能够自动处理不同平台的差异,生成平台特定的构建文件,并深度集成Qt特性,如元对象编译器和资源文件处理。其语法基于键值对,简洁且易于维护,但灵活性在非Qt项目中受限。CMake则由Kitware公司开发,旨在解决跨平台构建问题,适用于大型项目和开源项目,支持模块化配置和自动化构建。其语法为命令式,强调目标为中心的设计,适合复杂项目。CMake的跨平台能力更强,支持多种构建系统和工具链,广泛应原创 2025-05-13 21:19:09 · 1380 阅读 · 0 评论 -
Qt6 for C++ 常用界面组件的使用详解
本文介绍了 Qt6 for C++ 中常用的界面组件、布局管理和字符串操作的基础知识。常用界面组件包括 QWidget、QLabel、QPushButton 等,它们提供了丰富的功能以满足不同的界面需求。QWidget 类作为所有界面对象的基类,具有几何属性、窗口标题、可用性等核心属性,并提供了显示与隐藏、事件处理、布局管理等常用接口函数。布局管理部分详细介绍了 QBoxLayout、QFormLayout、QGridLayout 等布局管理器,以及布局可视化设计和代码实现原理。原创 2025-05-17 08:00:00 · 995 阅读 · 0 评论 -
Qt6 for C++ 对话框和多窗口程序设计(全集)
文章摘要: Qt中的对话框是与用户进行短期交互的特殊窗口,主要用于收集输入、显示消息或进行功能选择。对话框分为模态和非模态两类:模态对话框(如QDialog::exec())会阻塞用户与其他窗口的交互,适用于需立即处理的任务;非模态对话框(如QDialog::show())则允许用户同时操作其他窗口,常用于工具窗口。Qt还提供了多种标准对话框(如QMessageBox、QFileDialog),简化了常见交互的实现。原创 2025-05-17 08:15:00 · 1225 阅读 · 0 评论 -
Qt6 for C++ 模型和视图结构详解
Qt的模型/视图/代理架构通过分离数据存储、数据表示和用户交互,提供了高效的数据管理方式。模型负责数据存储和访问,视图负责数据的可视化显示,代理控制数据的显示和编辑方式。这种架构的优点是数据与显示分离,提高了代码的复用性和可维护性,并且模型变化会自动同步到所有关联视图。与传统GUI编程相比,Qt的模型/视图架构通过信号与槽机制实现模型与视图之间的数据同步和交互,解决了传统方式中代码复用性差、维护困难和性能问题。原创 2025-05-17 08:30:00 · 751 阅读 · 0 评论 -
Qt6 for C++ 事件处理详解
Qt 的事件系统是其核心机制之一,用于处理应用程序中的各种交互和系统消息。事件系统基于**事件对象(QEvent)和事件循环(Event Loop)**构建,允许应用程序对用户输入、窗口系统请求、定时器超时等做出响应。事件对象封装了事件的具体信息,事件传播机制确保事件首先传递给目标对象,若未被处理,会向上传递给父对象。事件过滤器允许一个对象监视另一个对象的事件,而事件循环则确保异步事件按顺序处理。常见事件类型包括输入事件、窗口事件和定时器事件。原创 2025-05-17 08:45:00 · 1315 阅读 · 0 评论 -
Qt6 for C++ 文件系统操作和文件读写(全集)
本文介绍了Qt6中文件系统操作的基础知识,重点围绕QFile、QFileInfo和QDir三个核心类展开。首先,QFile类支持多种文件打开模式,如只读、只写、读写、追加等,并可组合使用以满足不同的文件操作需求。其次,QFileInfo类提供了获取文件元信息的功能,包括文件路径、文件名、时间戳等,并能判断文件类型(如常规文件、目录、符号链接)。最后,QDir类用于目录操作,支持目录遍历、文件列表获取等功能,并提供了多种过滤器来筛选目录内容。这些类的方法在不同平台上具有统一的表现,适合跨平台开发。原创 2025-05-17 09:00:00 · 1013 阅读 · 0 评论 -
Qt6 for C++的串口编程
串口通信是一种通过串行接口进行数据传输的通信方式,Qt6中主要通过QSerialPort类实现。串口通信具有串行传输、异步通信和可配置参数等特点,常用参数包括波特率、数据位、停止位和校验位等。QSerialPort类提供了打开/关闭串口、配置参数、读写数据等功能,支持Windows、Linux和macOS等操作系统。QSerialPortInfo类用于枚举和查询系统中可用的串口信息。在实际应用中,通过设置波特率、数据位、停止位等参数,结合信号槽机制实现异步通信。原创 2025-05-17 20:27:04 · 968 阅读 · 0 评论 -
Qt6 for C++的自定义插件和库
Qt的插件架构基于动态加载机制,允许应用程序在运行时加载外部模块(插件),而无需在编译时链接这些模块。插件接口定义使用纯虚类(抽象基类)定义插件接口,所有插件必须实现该接口。接口类需继承QObject并使用宏注册。插件实现插件是独立的动态库(如.dll.so),继承自接口类并实现其虚函数。需通过宏声明插件元数据(如唯一标识符)。动态加载流程发现插件:通过文件系统扫描或预定义路径查找插件文件。加载库:使用QLibrary或加载动态库。实例化插件:调用库中的函数创建插件对象。原创 2025-05-17 20:32:33 · 900 阅读 · 0 评论 -
Qt6 for C++ 多线程
Qt6提供了多种线程管理方式,主要通过QThread类及其相关机制实现多线程编程。核心概念包括QThread类、线程安全信号槽机制、线程局部存储、同步原语(如QMutex、QReadWriteLock等)、线程池、事件循环、线程亲和性以及线程退出与清理。QThread类支持通过继承或moveToThread()方式创建线程,并提供start()、quit()等方法控制线程生命周期。原创 2025-05-18 08:00:00 · 882 阅读 · 0 评论 -
Qt6 for C++的Qt Data Visualization
Qt Data Visualization是Qt框架中的一个模块,专注于3D数据可视化。它提供了多种组件,如Q3DBars(3D柱状图)、Q3DScatter(3D散点图)和Q3DSurface(3D曲面图),用于在3D空间中展示数据。主要功能包括数据系列的添加、轴的设置、数据填充以及自定义3D对象的插入。Qt Data Visualization依赖于Qt Core和Qt GUI模块,并可与Qt Widgets或Qt Quick模块结合使用,以实现不同的UI集成方式。原创 2025-05-18 08:30:00 · 622 阅读 · 0 评论 -
Qt6 for C++的Qt Charts
Qt Charts 是 Qt 提供的一个用于数据可视化的模块,支持多种图表类型,如折线图、柱状图、饼图等。其主要特点包括多种图表类型、交互功能、主题和样式定制、高性能渲染以及跨平台支持。核心组件包括 QChart、QAbstractSeries、QValueAxis、QLegend 和 QChartView。使用流程通常包括创建图表、添加数据系列、设置坐标轴并显示在视图中。示例代码展示了如何创建简单的折线图。注意事项包括模块引入、命名空间使用和内存管理。原创 2025-05-18 09:00:00 · 893 阅读 · 0 评论 -
Qt6 for C++的多媒体
Qt多媒体模块(Qt Multimedia)是Qt框架中用于处理音频、视频、摄像头和收音机等多媒体功能的模块,提供了一系列C++类和QML类型,便于开发者在应用程序中集成多媒体功能。主要功能包括音频播放、视频播放、摄像头访问、音频录制、低延迟音频处理和收音机功能(平台支持有限)。核心类如QMediaPlayer、QAudioOutput、QCamera等,支持通过C++ API或QML类型使用。原创 2025-05-19 08:00:00 · 595 阅读 · 0 评论 -
Qt6 for C++的数据库使用详解
Qt SQL模块是Qt框架中用于数据库操作的核心模块,提供统一的API访问多种数据库。其主要组件包括QSqlDatabase(管理数据库连接)、QSqlDriver(数据库驱动抽象)、QSqlQuery(执行SQL语句)、QSqlTableModel(高级数据库访问)等。Qt支持多种数据库驱动,如SQLite、MySQL、PostgreSQL等,并通过QSqlDatabase类进行连接管理。SQLite作为嵌入式数据库,配置简单,支持文件或内存数据库,适合轻量级应用。原创 2025-05-19 08:30:00 · 930 阅读 · 0 评论 -
Qt6 for C++的绘图详解
QPainter是Qt中用于2D绘图的核心类,提供了丰富的API来绘制基本几何图形、文本和复杂路径。其核心功能包括绘制点、线、矩形、椭圆等基本图形,以及文本渲染和字体设置。QPainter还支持画笔和画刷的设置,用于控制图形的轮廓和填充样式。此外,QPainter提供了坐标变换功能,如平移、缩放、旋转和错切,并支持保存和恢复绘图状态。Qt的坐标系统采用笛卡尔坐标系,支持逻辑坐标与物理坐标的自动转换。绘图设备类型包括QWidget、QPixmap、QImage等,适用于不同的绘图场景。原创 2025-05-19 09:00:00 · 884 阅读 · 0 评论 -
Qt6 for C++的网络编程
QtNetwork模块是Qt框架中用于网络编程的核心模块,提供了跨平台的网络功能支持。该模块包含了一系列类和工具,使开发者能够轻松实现TCP/IP和UDP网络通信、HTTP请求、WebSocket通信等功能。QtWebSockets模块是Qt框架中用于实现WebSocket通信的模块。WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许客户端和服务器之间进行实时数据交换。原创 2025-05-19 12:08:17 · 785 阅读 · 0 评论