自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 qt 线程

以下是一个完整的Qt线程池实现示例,结合任务优先级、线程安全、UI交互等高级功能,并包含异常处理机制:cppcppcpp。

2025-03-17 17:12:54 253

原创 c++完美线程池

以下是一个结合现代C++特性和工业级最佳实践的线程池实现,支持任务返回值、优雅关闭、异常处理和高效资源管理146cpp。

2025-03-17 16:55:56 270

原创 qt stm32 发送接受浮点数以及两字节数

bool ok;// 输入验证if (!ok) {ui->status->setText("电流输入无效,请重新输入");return;// 设置CAN消息参数// 1字节信号 + 4字节浮点数// 固定信号字节// 将浮点数转换为4字节(考虑字节序)// 假设接收端使用小端模式(默认与x86兼容)// 如果接收端是大端模式,需要反转字节顺序// 调试输出字节内容。

2025-03-15 11:32:38 803

原创 qt接受下位机并转换数据

阿达啊大大

2025-03-14 09:03:23 105

原创 包含目录、库目录​ 和 ​附加依赖项​ 区别

在 Visual Studio 项目中,​ 和 ​​ 是配置第三方库或自定义库的三大核心设置,但它们的职责和使用场景完全不同。

2025-03-03 11:01:25 318

原创 qt 多台电脑访问数据库方法

mysql qt

2025-02-22 15:45:12 94

原创 viewitems的各种形式

5

2025-02-22 14:20:12 64

原创 qt viewitems的用法

qt tabvire

2025-02-22 14:08:21 72

原创 json str转换顺序

11

2025-02-19 15:03:10 289

原创 boost的response

2025-02-19 11:49:48 64

原创 boost的rsponse设计

{"message": "Hello, Alice"} 6. 常见头部字段 以下是一些常用的 HTTP 响应头部字段: 字段名 说明 Content-Type 响应体的格式(如 application/json、text/html)。"} 5. 扩展:动态设置响应 以下示例展示了如何根据请求动态设置响应: cpp 复制 http::response<http::string_body> create_dynamic_response(const std::string& name) {

2025-02-19 11:44:51 443

原创 http请求

通常包括请求方法(如 GET、POST 等)、URI(资源标识符)和 HTTP 版本。:包含关于请求的附加信息,如主机、用户代理、内容类型、授权信息等。:对于某些请求方法(如 POST、PUT),请求中可能包含一个主体,通常是要发送到服务器的数据。

2025-02-18 15:36:52 264

原创 qt的几种网络通信方式

根据你的需求选择合适的通信方式。如果需要与硬件交互,选择串口通信。适合实时性要求高、允许少量数据丢失的场景(如视频流、游戏数据)。适合需要保证数据完整性的场景(如文件传输、远程控制)。:用于发送 HTTP 请求(GET/POST 等)。适合与 Web 服务交互(如 REST API)。适合需要双向通信的场景(如聊天应用、实时通知)。用于与硬件设备通信(如传感器、嵌入式设备)。:用于客户端,与服务器建立 TCP 连接。:用于发送和接收 UDP 数据报。:用于服务器,监听客户端连接。面向连接,可靠传输。

2025-02-15 16:36:08 549

原创 visual stadio操作mysql

以下是一个简单的示例,展示如何使用 MySQL Connector/C++ 连接 MySQL 数据库并执行查询。根据你的操作系统选择合适的版本(Windows、Linux 或 macOS)。: 链接器未找到 MySQL Connector/C++ 库。中添加 Connector/C++ 的头文件路径(例如。执行 SQL 语句(如创建表、插入数据、查询数据等)。// 连接到 MySQL 服务器。: 确保编译时正确指定库文件路径和库名称。参数包括主机地址、端口、用户名和密码。下载适合你的发行版的安装包(例如。

2025-01-14 16:19:37 281

原创 future、promise和async

和主要用于线程间的数据传递和同步,适合需要明确和精细控制线程间的交互。std::async提供了更方便的异步计算方式,适合于简单的任务执行和并行计算。选择使用哪种机制,取决于您的应用场景、性能需求和代码复杂性要求。

2025-01-02 18:18:24 401

原创 http解析

这段代码展示了使用 Boost.Asio 进行 HTTP 客户端开发的基本框架。构造请求:将请求信息组装成 HTTP 格式。解析地址:异步将服务器地址解析成 IP 地址和端口。连接服务器:在地址解析成功后尝试连接。处理所有异步操作:通过回调函数在各个步骤之间进行数据传递和错误处理。这样的设计使得客户端可以高效地处理网络请求,而不会因为等待连接或数据传输而阻塞程序执行。

2024-12-26 13:54:33 362

原创 消息类型确认

现在包含了一个完整的 TLV 格式消息,可以被发送给服务端进行处理。服务端接收到这个消息后,会根据 TLV 格式解析出消息的类型、长度,并从消息内容中提取出用户名和密码。

2024-12-23 17:19:40 164

原创 网络编程this 与shared——form——this

使用来确保在异步操作期间对象的生命周期得到正确管理,是避免悬挂指针和未定义行为的有效方法。直接使用this可能会导致在对象已被销毁的情况下继续使用该指针,从而导致崩溃或数据破坏。如果你已经在CSession类中继承了,那么你可以安全地使用来传递该对象到异步操作的回调函数中。这样就确保了在整个异步操作过程中对象都是有效的。

2024-12-13 15:47:55 316

原创 qt 白板项目记录

以上例子展示了如何使用构造函数处理音频文件的导入和播放。通过组织这些逻辑,用户能够轻松地将音频文件添加到数字白板,并享受到流畅的播放体验。构造函数不仅准备了音频文件,还管理了文件复制和路径设置,使得音频播放功能的实现更加高效和灵活。

2024-12-12 17:05:34 359

原创 自动更新qsqltablemodel类里的颜色

public:// 获取风险评估的值// 根据风险评估值设置背景颜色if (riskAssessment == "低") {// 浅绿色} else if (riskAssessment == "中") {// 浅黄色} else if (riskAssessment == "高") {// 浅红色// 继续绘制其他特性。

2024-12-11 17:50:51 178

原创 qsqltablemodel与数据库交互

是适合用于与数据库表进行交互的模型,具有支持数据编辑、添加和删除等功能。下面是使用进行操作的示例代码,包括如何查询、添加、修改和删除记录。

2024-12-11 17:04:09 172

原创 qstandmodel与数据库的交互

填充QComboBox: 从数据库中获取项目名称并填充。绑定QComboBox的信号: 当用户选择不同的项目时,查询该项目的详细信息。查询项目详细信息: 根据选择的项目名称查询数据库。将查询结果填充至QTableView: 使用或其它子类将结果显示在QTableView中。

2024-12-11 16:52:33 339

原创 关于standitem的运用

如果您希望在QTableView中编辑数据时同步更新数据库,您可以通过几种不同的方法实现这一点。

2024-12-11 16:36:17 170

原创 lamba传参应用

在 C++ 中,除了通过标准算法(如等)将元素作为参数传递给 Lambda 表达式外,您还可以通过多种方式实现将参数传递给 Lambda。这些方式既可以是通过不同的容器类型、迭代器还是其他函数的调用。

2024-12-05 16:27:55 308

原创 std::promise 和std::future获取返回值区别

使用和时,程序员主导了值的生产和获取,因此在复杂的异步交互中更加灵活。使用std::async则简化了异步编程过程,不需要显式地使用promise,适合简单的场景。选择使用哪个工具取决于具体的需求和程序的复杂性。对于简单场景,可以选择std::async;对于需要更多控制的情况,可以选择和。

2024-12-02 11:57:05 286

原创 线程资源泄漏原因

线程资源泄漏(Thread Resource Leak)是指在程序中创建了线程但未正确管理它们的生命周期,导致程序无法释放这些线程占用的资源。当线程完成执行后,如果没有调用join()或detach(),那么线程的资源将一直占用,最终可能会导致程序的资源耗尽,从而导致崩溃或表现出不稳定的行为。

2024-11-23 17:52:07 376

原创 线程守护类

这种基于 RAII 的资源管理方法是极其重要的,它能帮助程序员简化资源管理,避免常见的错误,比如忘记。当你运行这个程序时,会看到主线程和子线程并行执行,主线程可以在。函数执行的同时进行自己的工作,最终保证了正确的线程管理。一个线程,导致程序崩溃或资源泄漏。

2024-11-23 17:41:04 323

原创 c++ join应用

在多线程编程中,文件读取、数据更新以及处理用户界面的耗时任务常常需要异步执行,以避免阻塞主线程,提高用户体验和程序效率。下面是这三种场景的示例代码,展示如何应用 C++ 的多线程功能。

2024-11-23 17:21:47 208

原创 【无标题】

ioc提供了 I/O 操作的上下文。_acceptor负责监听新连接。_socket用于处理已接受的连接。这种设计允许高效、灵活地管理网络通信,并确保在一个事件循环中处理多个连接。

2024-11-18 10:28:01 330

原创 HTTP 服务器,它使用 HttpConnection 类来处理客户端的 HTTP 请求。

假设我们有一个简单的 HTTP 服务器,它使用类来处理客户端的 HTTP 请求。在这个服务器中,我们的业务逻辑通过实现。以下是一些实例。

2024-11-16 16:14:08 639

原创 tcp::socket

在 C++ 中,通常用于表示一个 TCP 套接字,该套接字是网络编程中的基本构件。只要涉及到使用 TCP 协议进行网络通信,这种套接字就将用于建立、发送和接收数据连接。

2024-11-16 13:52:29 338

原创 qtable标题

当使用QTableView。

2024-11-01 11:02:13 293

原创 sqlite

能源1号 | AHB30 | 150 | AHB30 | 100 | 100 | 2024-10 |AND po.yearandyue = strftime('%Y-%m', 'now') -- 当前年月。AND pr.year_month = po.yearandyue -- 通过年月进行匹配。) AS pr -- 子查询结果取别名 'pr'

2024-10-26 17:36:32 240

原创 qt 日志类设计

使用 C++ 和 Qt 框架,但逻辑可以应用于其他编程语言。

2024-10-26 10:30:59 288

原创 qt常用模型

这些模型在 Qt 应用程序中非常常见,提供了多种方式来组织和。

2024-10-25 11:27:37 321 1

原创 QStandardItemModel 展示数据库数据

如果您需要做更复杂的数据显示,例如不同的单元格可能有不同的颜色,或者需要根据业务逻辑动态修改单元格的内容。例如,您可能想要根据某个值设置背景色。示例代码++row) {++col) {// 根据某些逻辑设置背景颜色if (data[row][col] == "特定值") {当您的需求仅仅是从数据库表中读取数据并显示时,非常合适。当您的需求涉及到较复杂的交互、层级和自定义展示时,或者需要结合多种数据来源,使用更加灵活。

2024-10-25 10:44:07 196

原创 单链表排序

int main(){ SqList Q,L,Z; int i,n,x; ElemType e; InitList_Sq(Q); InitList_Sq(L); InitList_Sq(Z); scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&e); ListInsert_Sq(Q,i,e); }//for(i=1;i<=100;...

2021-12-28 15:39:22 291

空空如也

空空如也

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

TA关注的人

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