自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WebSocket 协议编程实战

Widget类继承自QWidget,负责处理用户界面和与WebSocket的交互。使用了QWebSocket类来处理WebSocket连接,ui指针用于管理Qt Designer生成的UI界面。该程序实现了一个基本的WebSocket客户端功能,支持连接到服务器、接收和发送消息,同时具备错误处理机制。通过信号与槽机制,UI和WebSocket的交互得以高效管理。整体结构清晰,便于扩展和维护。

2025-05-21 22:35:39 641

原创 HTTP 协议编程

这个Qt应用程序的主要功能是通过网络请求获取数据并显示在用户界面上。它使用了信号与槽机制处理异步的网络请求。在设计上,结构清晰,功能模块化,有助于维护和扩展。每个功能都被封装在独立的函数中,有利于代码的可读性和可维护性。**

2025-05-19 22:52:35 499

原创 多线程 CS 模式项目实战

该代码段展示了一个 TCP 服务器的基本实现,使用多线程处理每个连接。通过信号与槽机制,能够在处理完连接后通知主界面更新状态(如访问次数)。整体结构清晰,有助于实现并发处理,提高服务器的响应能力。这个代码片段实现了一个基本的TCP服务器对话框。它能够监听客户端请求并显示请求次数,同时提供了退出按钮的功能。结构清晰,充分利用了Qt的信号与槽机制,能够有效管理UI与服务器逻辑。该代码实现了一个基本的网络客户端对话框,可以通过设置服务器名称和端口来建立TCP连接,并处理可能出现的错误。

2025-05-19 22:44:22 765

原创 UDP 协议工作原理及实战

1、UDP(用户数据报协议)是轻量的、不可靠的、面向数据报、无 连接的协议,用于可靠性要求不高的场合。两个应用程序之间进行 UDP 通信不需先建立持久的 socket 连接,UDP 每次发送数据报都 需要指定目标地址和端口。2、UDP 报文没有可靠性保证、顺序保证和流量控制字段等,可靠性 较差。但是正因为 UDP 协议的控制选项较少,在数据传输过程中延 迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可 以保障可靠性的应用程序,如 DNS、TFTP、SNMP 等。

2025-05-18 22:12:47 246

原创 TCP 协议工作原理及实战

1、传输控制协议(TCP,Transmission Control Protocol)是一种 面向连接的、可靠的、基于字节流的传输层通信协议。2、TCP 拥塞控制算法(也称 AIMD 算法)。该算法主要包括四个主 要部分:慢启动、拥塞避免、快速重传和快速恢复。3、TCP 通信必须建立 TCP 连接(客户端和服务器端),Qt 提供 QTcpSocket 类和 QTcpServer 类专门用于建立 TCP 通信程序。服务 器端用 QTcpServer 监听端口及建立服务器;

2025-05-18 21:58:37 861

原创 XML文件操作

可扩展标记语言(Extensible Markup Language, XML),标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 是标准通用标记语言可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性等优点。注意:工程文件.pro添加xml库头文件添加:UI设计:构造函数需包含:代码结构分析类定义与头文件包含:构造和析构函数:文件操作:XML写入操作:XML读取操作:UI交互:数据传递:整体来看,该代码实现了一个基本的XML

2025-05-18 21:06:13 398

原创 JSON文件操作

这段代码实现了基本的JSON文件读写功能,能够有效地处理数据库配置信息的存储与读取,具备了一定的错误处理机制和用户提示功能。代码逻辑清晰,结构合理,适合用于简单的配置管理场景。

2025-05-15 23:55:52 270

原创 INI文件操作

头文件源文件下面是您提供的代码的逐行注释以及对代码结构的分析。代码结构分析包含头文件:函数定义:使用QSettings类:数据写入与读取:内存管理:调试输出:遍历键值:

2025-05-15 23:35:08 279

原创 Quick 组件及元素布局

这段代码展示了如何使用 QML 来创建一个简单的个人简历界面。它利用了布局组件(如Row和Column)和动态生成组件(如Repeater)来展示结构化的数据。在实际应用中,您可以根据需要修改文本内容、样式和结构,以适应不同的需求。

2025-05-14 22:26:03 362

原创 Quick 事件(键盘事件 & 鼠标事件 & 定时器)

这段代码展示了如何使用QML创建一个简单的用户界面,并实现基本的键盘事件处理。用户可以通过键盘与界面交互,同时动态更新文本的位置,提高了程序的互动性和用户体验。

2025-05-14 21:45:11 755

原创 QML 元素 2(ButtonStyle & Item & BusyIndicator)

ButtonStyle 是 QML 中的一个类型,是一种指定按钮 外观和行为的 QML 属性,用于定义按钮的外观和行为。它 可以包含诸如按钮背景色、文本颜色、边框样式、阴影效果 等属性,并且可以通过状态转换来改变这些属性,从而实现 按钮在不同状态下的不同样式。

2025-05-14 21:33:14 196

原创 QML 元素 1(Image & Rectangle & Text)

QML 中的 Image 是一种用于显示图像的元素。它可以 从本地文件系统、网络资源或者 Qt 资源加载图片。在 QML 中,Image 元素有多种属性和方法,可以设置图片的大小、 位置、裁剪等效果。此外,Image 还支持动画和状态转换, 可以实现丰富的交互效果。QML 中的 Image 是一个非常有 用的元素,广泛用于 GUI 界面和游戏开发。

2025-05-14 21:11:11 437

原创 QML 基础知识

QML 全称为 Qt Meta-Object Language,是一种描述性的脚 本语言,文件格式以.qml 结尾。基于 JavaScript 的声明性语言,用 于描述用户界面和应用程序逻辑,它语法格式非常像 CSS。它是 Qt 框架中的一个重要组成部分,可以方便地创建可定制和交互性强的用 户界面,同时也是开发嵌入式和移动设备应用的理想选择。QML 是 Qt 推出的 Qt Quick 技术的一部分,是一种新增的简便 易学的语言。

2025-05-13 22:51:22 452

原创 Quick Canvas 元素

Qt 引入 Canvas 元素,它提供与分辨率无关的位图绘制机制, 基本思想使用一个 2D 上下文对象渲染路径,包含所需的绘制函数, Canvas 则像画板,直接填充、渐变、文本等诸多函数。

2025-05-13 22:45:10 241

原创 QML 布局管理 Layout

QML 界面排列布局提供有两种:Anchors 和 Layout。Layout 布局适用元素并列排布场景,元素之间没有重叠关系。

2025-05-13 22:31:03 261

原创 QML 元素布局

【代码】QML 元素布局。

2025-05-13 22:26:36 231

原创 QML 鼠标与键盘事件处理

QML 直接提供 MouseArea 来捕获鼠标事件,该操作必须配合 Rectangle 获取指定区域内的鼠标事件。

2025-05-13 21:59:20 179

原创 QML 基础知识分析

QML 是一种描述性的脚本语言,文件格式以.qml 结尾。支持 javascript 形式的编程控制。QML 是 Qt 推出的 Qt Quick 技术当中 的一部分,Qt Quick 是 Qt5 中用户界面的涵盖:QML、JavaScript 等等。为什么要使用 QML:跨平台移植性、开发的开放性、开发者效率。QML 语言提供基本数据类型:date、size、point、rect、color、font 等等。还 有基本对象类型:String、Date、Timer 等等。

2025-05-13 21:46:04 359

原创 SQLite 事务

数据库事务( transaction)是访问并可能操作各种数据项的 一个数据库操作序列,这些操作要么全部执行,要么全部不执行, 是一个不可分割的工作单位。事务由事务开始与事务结束之间执 行的全部数据库操作组成。

2025-05-12 23:49:13 249

原创 SQLite 视图

视图则为一张虚拟表,它内容数据由查询决定。视图并不在数据 库中存储的数据值形式存储,记录和字段由自由视图的查询所引用的 表,并且在引用视图时动态生成。视图是存储在数据库中查询 SQL 语句:安全原因、可以使复杂 的查询易于理解和使用。可以在视图上创建一个触发器。优势:视点集中简化操作定制数据安全性问题。

2025-05-12 23:46:35 562

原创 SQLite 索引

索引(Index)是一种特殊查找表,数据库搜索引擎用来加速数 据检索功能。创建索引基本语法如下:CREATE INDEX 索引名称 ON 数据表名称;搜索码:表示的是记录各种字符段的一个集合,它可以是一个或者多 个字符段的任意序列组合,并不是唯一的一个标识记录。数据目录项:为索引的相关元素,在建立索引的过程中,数据目录项 一般具有各种不同的选择方式。记录 ID:每一个/段索引在存储内容中唯一的一个标识符。

2025-05-12 23:41:39 301

原创 SQLite 触发器

SQLite 触发器是数据库的一个回调函数,在指定的数据库事件 发生时,自动执行或调用。比如 insert、update、delete 时等触发。BEGIN – 触发器逻辑…

2025-05-12 23:35:22 216

原创 SQLite Distinct&Orderby&Groupby

4、having 子句专用于指定条件来过滤数据,having 子句 由 group by 子句创建的分组在设置条件。2、order by 子句专用于对一个或者多个字段按升序或降序 顺序排列数据。ASC:从小到大,升序排序(默认值);DESC:从大小到,降序排列。3、group by 子句专用于配合相同数据进行分组。1、distinct 关键词专用于消除重复记录。

2025-05-12 23:24:08 165

原创 SQLite select&update&delete 语句

2、SQLite where 子句基本语法: SELECT column1,column2,column3,column4,columnN FROM table_name WHERE [condition]5、SQLite 逻辑运算符:and、between、exists、in、not in、like、 glob、not、or、is null、is、is not、unique。4、SQLite 比较运算符:=、==、!3、SQLite 算术运算符:+、-、*、/、%。

2025-05-12 23:15:20 453

原创 SQLite insert into 语句

2、INSERTINTO语句插入数据不指定列名,则确保值顺序与表中的。【insert into 语句功能:向数据表插入数据信息】1、INSERT INTO语句语法。

2025-05-12 22:57:47 186

原创 SQLite 创建表&删除表

CHECK约束:CHECK约束确保某列中的所有值满足一定条件。PRIMARY Key约束:唯一标识数据库表中的各行/记录。sqlite3>drop table 数据库名称.数据表名称。DEFAULT约束:当某列没有指定值时,为该列提供默认值。UNIQUE 约束:确保某列中的所有值是不同的。NOTNULL约束:确保某列不能有NULL值。create table 数据表名称(字段名称1 数据类型1 约束等条件,字段名称2 数据类型2 约束等条件,#二、SQLite删除数据表。

2025-05-12 22:49:36 348

原创 SQLite 数据类型

2、 日期和时间数据类型:和布尔类型一样,SQLite 也同样没有提 供专门的日期时间存储类型,而是以 TEXT、REAL 和 INTEGER 类型 分别不同的格式表示该类型。REAL:从公元前 4714 年 11 月 24 日格林尼治时间的正午开始计算 的天数。INTEGER:从 1970-01-01 00:00:00 UTC 算起的秒数。3、布尔类型:SQLite 没有提供专门的布尔存储类型,存储为 1 表示 true/0 表示 false。

2025-05-12 22:31:46 682

原创 SQLite 附加数据库&分离数据库

1. 定义:附加操作允许你将一个或多个外部数据库文件与当前数据库连接关联起来。这样,你可以在同一个SQL会话中同时操作多个数据库。2. 附加数据库语句:attach database 文件名称 as 数据库名称此操作:打开数据库和使用 attach 附加进来的数据库必须在同一目录。

2025-05-12 21:48:18 363

原创 SQLite 创建数据库

1、使用.open 命令创建数据库(通过打开方式创建数据库,如果此 数据库存在,则打开。否则就直接创建数据库即可)。sqlite>.open 数据库名称.db。

2025-05-12 21:24:03 576

原创 SQLite 下载与配置使用

一致性保证在事务执行前后,数据库的状态是有效的,满足所有的完整性约束。例如,如果一个事务将一个账户的资金转移到另一个账户,那么在这个过程结束时,两个账户的总资金应该保持不变。原子性确保事务中的所有操作要么全部成功,要么全部失败。如果事务中的某一部分操作失败,系统会回滚到事务开始之前的状态,从而保证数据的一致性。即使多个事务同时进行,最终的结果应该与这些事务按照某一顺序一个一个执行的结果相同。持久性确保一旦事务被提交,其对数据库的改变是永久性的,即使系统崩溃或发生故障,这些改变也不会丢失。

2025-05-12 21:16:43 462

原创 C++进阶之异常

实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了// 服务器开发中通常使用的异常继承体系protected:int _id;// ...{};{};{};int main()try{// 抛出对象都是派生类对象catch (const Exception& e) // 这里捕获父类对象就可以。

2025-04-21 23:10:26 804

原创 C++进阶之智能指针

RAII(Resource Acquisition Is Initialization)是一种(如内存、文件句柄、网络连接、互斥量等等)的简单技术。,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后。借此,我们实际上把管理一份资源的责任托管给了一个对象。

2025-04-21 22:31:50 1037

原创 C++基础之模板进阶

+i)通过多增加一个参数,就可将两种拷贝的优势体现结合起来。用户需要根据所拷贝元素的类型去传递第三个参数,那出错的可能性就增加。那能否让函数自动去识别所拷贝类型是内置类型或者自定义类型呢?因为内置类型的个数是确定的,可以将所有内置类型集合在一起,如果能够将所拷贝对象的类型确定下来,在内置类型集合中查找其是否存在即可确定所拷贝类型是否为内置类型//// POD: plain old data 平凡类型(无关痛痒的类型)--基本类型。

2025-04-19 13:54:33 687

原创 C++基础之STL简介

不仅是一个可复用的组件库,而且是一个包罗的软件框架。

2025-04-19 12:45:41 305

原创 C++基础之内存管理

/ 申请单个Test类型的空间free(p1);// 申请10个Test类型的空间free(p2);// 申请单个Test类型的对象delete p1;// 申请10个Test类型的对象注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与free不会。new的原理。

2025-04-19 12:33:47 594

原创 C++类与对象(三)

在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称作为类对象成员的初始化,,而不能称作初始化。因为。

2025-04-19 11:50:21 462

原创 C语言进阶之自定义类型:结构体,枚举,联合

int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu//类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化枚举类型的定义enum Day//星期Mon,Tues,Wed,Thur,Fri,Sat,Sunenum Sex//性别MALE,FEMALE,SECRETenum Color//颜色。

2025-04-15 23:13:33 885

原创 C语言之动态内存管理

C语言提供了一个动态内存开辟的函数:这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数size 为0,malloc的行为是标准是未定义的,取决于编译器。

2025-04-15 22:10:03 885

原创 C语言基础之windows版本git的用法

git是一个版本控制工具. 主要解决三个问题。

2025-04-15 00:42:48 992

原创 C语言进阶之字符函数和字符串函数

strncpy拷贝num个字符从源字符串到目标空间。如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。for (n=0;n<3;

2025-04-13 23:39:38 635

空空如也

空空如也

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

TA关注的人

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