自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零开始搭建 Pytest 测试框架(Python 3.8 + PyCharm 版)

本文介绍了使用Python 3.8和PyCharm搭建Pytest自动化测试框架的完整流程。内容包括:安装Python 3.8和PyCharm开发环境,在PyCharm中创建项目并安装Pytest插件,以及构建标准化的测试项目结构(tests测试脚本、utils工具类、config配置等目录)。这为初学者提供了从环境配置到项目组织的一站式指南,帮助快速上手Python自动化测试开发。

2025-06-07 18:42:46 512

原创 初识 Pytest:测试世界的智能助手

你可以把Pytest想象成一个聪明又细心的机器人助手。你只需要告诉它:“去检查一下这些功能有没有问题。” 它就会自动帮你跑一遍测试,并告诉你哪些地方没问题,哪些需要修复。Pytest 是一个用于编写和运行自动化测试的 Python 工具它不是程序员才用的东西,也不是特别复杂的黑科技。相反,它的设计初衷就是让测试变得简单又高效。我们初步认识了Pytest它是一个用来做自动化测试的工具。它简单、强大、灵活,适合初学者使用。它可以帮助我们更高效、更可靠地验证代码的正确性。

2025-05-28 21:27:44 767

原创 Qt实战教程:设计并实现一个结构清晰、功能完整的桌面应用

通过本文的学习,你已经完成了从零开始构建一个功能完整的文本编辑器项目的全过程。Qt项目创建与结构组织主窗口UI设计核心功能实现(文件操作、编辑功能等)用户体验优化(自动保存提示、快捷键、国际化)部署与发布流程Qt不仅是一套优秀的GUI开发框架,更是一个功能强大的跨平台应用开发平台。动手实践一下,写一个属于自己的桌面软件。

2025-05-25 15:39:10 324

原创 提升Qt应用性能--全面解析关键技术与策略

通过本文的学习,我们了解了多种提高Qt应用程序性能的技术和策略,包括基础优化技巧、图形渲染优化、事件处理与线程管理以及资源管理与缓存等。这些优化措施不仅能显著提升你的Qt应用的表现,还能改善用户体验,增强产品的市场竞争力。

2025-05-17 15:14:23 487

原创 Qt模块化架构设计教程 -- 轻松上手插件开发

在Qt中,插件通常基于抽象基类(接口)来定义其行为。我们将定义一个名为IPlugin的接口,所有插件都必须实现这个接口。定义IPlugin接口Q_OBJECTpublic:// 插件的主要功能接口signals:在这个接口中,我们定义了两个纯虚函数name()和execute(),以及一个信号,用于从插件向主程序发送消息。Qt 插件机制的基础原理:通过定义统一的接口(IPlugin),实现主程序与插件之间的解耦;插件项目的构建方式:使用.pro。

2025-05-11 20:57:19 1349

原创 Qt国际化实战--精通Qt Linguist工具链

Qt Linguist工具链为我们的Qt应用添加多语言支持,从标记字符串、生成翻译文件、使用Qt Linguist进行翻译,到最后集成翻译文件到应用中,每一步都清晰明了。此外,如何实现动态语言切换以及处理复数形式,这些都是构建高质量多语言支持的关键因素。

2025-05-06 22:19:48 836

原创 深入探索Qt网络编程 -- 创建强大的RESTful服务客户端

GET: 请求获取指定资源的信息。POST: 向指定资源提交数据进行处理请求(例如提交表单、上传文件等)。服务器可能会根据接收到的数据创建新的资源。PUT: 请求服务器存储一个资源,如果该资源已经存在,则更新它。DELETE: 请求服务器删除指定的资源。

2025-05-01 11:32:35 1008

原创 QT构建即时通讯应用--WebSocket全面解析与实战指南

WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许服务器主动向客户端推送数据,这与传统的HTTP请求-响应模式形成了鲜明对比。WebSocket特别适用于需要实时更新的应用场景,如在线聊天室、实时协作工具等。通过本文的学习,我们了解了WebSocket协议的基本概念及其在现代应用程序中的重要性。Qt提供的QWebSocket和类为我们实现WebSocket客户端和服务器端应用提供了极大的便利。

2025-04-24 22:02:42 701

原创 深入探索Qt异步编程--从信号槽到Future

Qt提供了丰富的工具集来支持异步编程,无论是初学者还是有经验的开发者都能找到适合自己项目的解决方案。掌握这些技术不仅能提高应用程序的性能和响应性,还能显著增强用户体验。无论是使用信号和槽机制处理简单的异步事件,还是利用和QFuture进行复杂的后台计算,Qt都提供了灵活且强大的功能来满足各种需求。

2025-04-21 21:54:20 893

原创 QT之在多线程中如何优雅的处理资源泄漏

在多线程环境中处理资源泄漏问题需要综合运用多种技术和策略。RAII原则、同步机制、线程池、异常安全措施、定期检查和清理以及有效的日志记录和监控都是防止资源泄漏的重要手段。遵循这些最佳实践不仅能帮助我们构建更加健壮的应用程序,还能显著提升其性能和可靠性。

2025-04-16 21:59:57 791

原创 探索QThread的力量:多线程编程的最佳实践

了解了QThread的基本概念及其在多线程编程中的应用,遵循本文提到的最佳实践,包括避免直接继承QThread、合理使用同步机制、重视事件循环的作用以及妥善处理异常情况,能够显著提升应用的稳定性和性能。

2025-04-12 13:35:55 520

原创 QTSql全解析:从连接到查询的数据库集成指南

通过上述介绍,我们了解了如何使用QtSql模块来进行数据库集成,包括建立连接、执行查询、处理错误以及使用事务,掌握这些基本技能都将大大提升你的开发效率和应用的可靠性。

2025-04-08 22:05:27 605

原创 Qt中的数据解析--XML与JSON处理全攻略

通过上述介绍,我们可以看到Qt为处理XML和JSON提供了丰富而灵活的工具。无论是采用基于流的QXmlStreamReader还是树形结构的QDomDocument来解析XML,亦或是利用Qt的JSON类库来处理JSON数据,开发者都可以找到最适合自己的解决方案。

2025-04-02 21:54:24 664

原创 QT高效文件I/O编程--实用指南与最佳实践

遵循上述最佳实践,可以使你的文件I/O操作更加高效、可靠,并且易于维护。无论你是正在构建一个小型工具还是大型系统,关注这些细节都将有助于提升整体质量。

2025-03-26 22:10:39 481

原创 QT并发编程进阶--线程安全与同步技巧详解

无论是简单的互斥锁还是复杂的条件变量和读写锁,掌握这些技术对于构建高效、稳定的多线程应用至关重要。

2025-03-20 21:54:46 1158

原创 快速上手网络通信 -- Qt Network应用开发

无论是构建客户端应用还是服务器端应用,Qt Network模块都提供了强大且灵活的工具,可以满足各种场景及需求。

2025-03-15 14:18:50 665

原创 高效管理应用资源--Qt资源系统详解

通过本文的介绍,我们了解了Qt资源系统的基本概念和使用方法。无论是加载图标、翻译文件还是样式表,Qt的资源系统都能帮助我们高效地管理和访问应用资源。此外,通过动态加载资源的方法,我们还可以在运行时灵活处理资源文件。

2025-03-12 22:04:34 523

原创 事件系统之如何处理用户输入和其他事件

通过本文的介绍,我们了解了Qt事件系统的几个重要方面,包括如何处理用户输入事件(如鼠标和键盘事件)、定时器事件以及窗口事件。此外,还展示了如何使用事件过滤器来集中处理多个对象的事件,帮助你更好地设计和开发响应迅速、功能丰富的Qt应用程序。

2025-03-07 21:20:47 476

原创 QT信号与槽之如何避免频繁的信号发射

频繁更新的数据源:使用定时器进行批处理或条件性发射信号。高负载情况下的数据处理:使用阻塞队列进行异步处理。批量操作:将多个更新合并成一个批量操作,一次性发射信号。延迟发射:使用定时器延迟发射信号,避免短时间内多次发射相同信号。通过上述几种策略,可以有效地减少信号发射的频率,从而提高应用程序的性能和响应速度,具体选择哪种方法取决于你的应用场景和需求。

2025-03-03 21:44:57 507

原创 信号与槽之处理跨线程的连接

通过合理使用连接类型,可以有效地实现跨线程的信号与槽通信,确保应用程序的稳定性和响应速度

2025-02-26 20:58:14 1018

原创 Qt之多线程处理

在现代应用程序开发中,多线程处理是提高程序性能和响应速度的重要手段。Qt作为一个功能强大的跨平台C++框架,提供了丰富的多线程支持。

2025-02-19 21:04:05 374

原创 Qt之线程的创建与启动

创建一个继承自QThread的新类,并重写其run()方法,在这个方法中,我们将编写线程要执行的代码。

2025-02-17 22:16:46 252

原创 Qt Network编程之HTTP请求与处理

QtNetwork模块是Qt框架中负责网络编程的组件。它提供了一系列类来处理网络协议、套接字编程、HTTP/HTTPS请求等。对于HTTP请求与处理,我们主要关注的QNetworkAccessManager、QNetworkRequest和QNetworkReply这三个类。:这是发送网络请求的核心类。它管理网络请求的队列,并处理这些请求的响应:这个类表示一个网络请求,包括请求的URL、HTTP头部信息等:这个类表示网络请求的响应。它包含了响应的状态码、头部信息和响应体。

2025-01-18 21:48:59 436

原创 Qt模块概览(核心模块、GUI模块等)

Qt 是一个功能丰富、跨平台的开发框架,提供了从核心功能到图形用户界面的全面支持。通过本文的介绍和示例代码,希望能帮助你更好地理解 Qt 的核心模块和 GUI 模块,并为进一步的学习和开发打下基础。

2025-01-16 22:45:32 398

原创 QT对象模型与内存管理

深入探索Qt对象模型与内存管理,能更好地理解Qt框架的底层机制,从而帮助我们更加高效的进行应用开发。

2024-12-25 22:45:59 227

原创 QT自定义控件实践--滑动组件

本篇文章,会逐步带您了解,如何自定义一个QT的滑动组件选择合适的基类继承: 我们命名这个自定义控件为MySlipButton,继承自QWidget添加成员变量: 根据滑动组件的特性,添加合适的成员变量,如当前值、最小值、最大值、滑块的位置等。定义必要的方法: 来绘制组件的外观,包括颜色、形状等; (2)以及一些鼠标交互的方法,如鼠标点击的方法(mousePressEvent)、鼠标移动的方法(mouseMoveEvent)、鼠标释放的方法(mouseReleaseEvent);

2024-12-11 22:57:11 282

原创 QT中的自定义控件

1、选择合适的基础控件类来继承(如需要自定义按钮,可选择QPushButton、需要自定义窗体,可选择QWidget等)2、创建头文件(如示例,MyButton 是自定义控件的名称,是基于QPushButton来做升级改造),声明构造函数、事件等mybutton.h......//构造函数public:protected://重写绘制函数//重写mousePressEvent函数,自定义鼠标点击事件......

2024-11-04 23:16:16 301

原创 QT中添加资源文件(一看就会)

项目中经常需要添加图片、‌音频、‌视频、翻译文件等文件,在QT中,这些文件会放在 .qrc 文件中来被使用。.qrc 文件是一个XML格式的资源集合描述文件,是Qt中用于定义和管理资源的关键文件。

2024-09-23 23:06:12 556

原创 QT的基础数据类型(下)

与QList类似,但它在内存使用上更为紧凑,内部使用动态数组来存储元素,适用于存储大量相同类型的数据。

2024-08-24 23:04:51 535

原创 QT的基础数据类型(上)

本文将介绍几个QT中常用的数据类型。

2024-08-18 23:03:05 331

原创 信号和槽实现不同页面之间的通信

在上一章的文章中,我们举的示例都是同页面中两个对象间的通信,那么两个不同的页面应该如果通信?本篇文章用两个简单但常见的场景举例说明。

2024-08-10 21:30:56 90

原创 信号和槽实现两个不同页面之间的通信

在上一章的文章中,我们举的示例都是同页面中两个对象间的通信,那么两个不同的页面应该如果通信?本篇文章用两个简单但常见的场景举例说明。

2024-08-10 21:30:11 249

原创 如何解决QT中跳转第二个页面时闪退问题

在当前页面MySenderPage,点击PushButton,跳转至MyReceivePage,通常会用到信号和槽实现如果跳转页面使用 MyReceivePage w;w.show();会出现页面闪退的情况。

2024-08-07 21:05:33 522

原创 QT的信号与槽详细讲解及示例

信号与槽是QT中各个对象之间通信的一种机制,比如某个控件的特定操作,需要执行指定的逻辑,改变另一个控件的属性之类的事件,它使得组件之间的交互更加直观,是QT的核心特性之一,也是QT编程的基础。如果需要执行的槽函数逻辑复杂,自带的函数无法达到效果,就需要通过自定义槽函数来实现。示例:点击按钮,为label的值加一label值加一这个逻辑,并没有现成的函数,我们就定义一个update_value()的槽函数来实现这个逻辑,函数名可自定义在 .h 文件中,先使用slots声明一个槽函数。

2024-07-31 22:42:22 225

原创 QT中数值类型的控件(下)

QLCDNumber是一个用于显示数字的控件,模拟一个液晶显示屏的效果,显示实时更新的数据,包括整数、浮点数和十六进制数等。

2024-07-18 20:36:59 585

原创 QT中数值类型的控件(上)

Qt拥有多种用于数值输入的控件,这些控件提供了用户与数值数据交互的直观方式,可根据具体需求选择合适的控件。

2024-07-14 10:20:09 193

原创 QT中的日历组件QCalendarWidget及其他时间日期控件

QCalendarWidget是Qt中用于显示日历的控件,可以显示一个完整的月份的日历,用户可以选择不同的年份和月份进行查看,用户可通过重写方法自定义日历的外观和行为,以满足特定的应用需求。

2024-06-22 09:40:14 922

原创 QT的表格控件-QTableWidget

QTableWidget是以行和列的形式展示数据的二维表格,每个单元格由一个QTableWidgetItem对象表示,它提供插入、删除行或列、以及访问和修改单元格内容等操作方法,还可以自定义行和列的表头,功能非常强大。

2024-06-14 21:59:41 604

原创 QT的树形结构控件-QTreeWidget

QTreeWidget是Qt中用于显示树形结构的控件,可以显示多列数据和树形结构的层次关系,Q同时QTreeWidget还提供一些用户可操作的交互功能,如用户可编辑树节点的文本,可以调整顺序,展开或收起节点等等操作,功能非常强大。

2024-06-10 16:46:41 854

原创 QT的QListWidget详解

QListWidget是 Qt 框架中用于显示列表的一个类,列表中的项可以是简单的字符串,也可以带有图标,用户可以查看、增加、删除、修改项,可以进行点击等操作进行交互,总之,QListWidget功能很强大,可以满足列表数据中的各种需求。

2024-06-04 11:00:00 996

空空如也

空空如也

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

TA关注的人

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