自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 socket编程-UDP(3)-聊天室系统

【代码】socket编程-UDP(3)-聊天室系统。

2025-08-02 05:28:46 449

原创 socket编程-UDP(2)-设计翻译系统

实现一个简单的英译汉的网络字典。

2025-08-01 19:05:13 103

原创 仿QQ音乐播放器(1)

拖四个QLabel和⼀个按钮,调整⼤⼩位置,从左往右QLabel的objectName依次修改为:labelNull、currentTime、line、totalTime,按钮的objectName修改为lrcWord,按钮的maxmumSize的宽度和⾼度修改为30*30;往右QLabel的objectName依次修改为:labelNull、currentTime、line、totalTime,按钮的objectName修改为lrcWord,按钮的maxmumSize的宽度和⾼度修改为30*30;

2025-08-01 13:15:52 761

原创 测试(2)-概念篇

随着软件⼯程学科的发展,⼈们对计算机软件的认识逐渐深⼊。软件⼯作的范围不仅仅局限在程序编写,⽽是扩展到了整个软件⽣命周期,如软件基本概念的形成、需求分析、设计、实现、测试、安装部署、运⾏维护,直到软件被更新和替换新的版本。软件⼯程还包括很多技术性的管理⼯作,例如过程管理、产品管理、资源管理和质量管理,在这些⽅⾯也逐步地建⽴起了标准或规范。

2025-08-01 09:47:58 754

原创 socket编程-UDP(1)-设计echo server进行接口使用

实现连续调用,广泛用于日志系统、流式接口、构建器模式等场景,显著提升代码简洁性和可读性。,它没有具体实现,而是强制派生类必须重写(Override)该函数。),它接收客户端发来的消息,通过回调函数处理消息后返回响应。,用于向指定的服务器IP和端口发送消息,并接收服务器的响应。),而服务器没有,这可能是为了客户端能在更多环境中运行而不依赖系统库。动静态库(静态库和动态库)是程序链接和运行的两种不同方式,它们在。的编程风格,每次调用返回对象自身的引用(,它接收客户端发来的消息,并在消息前添加。

2025-07-31 15:32:35 678

原创 socket网络编程(1)

生成的Makefile文件如下这是一个简单的 Makefile 文件,用于编译和清理两个 UDP 网络程序(客户端和服务器)。.PHONY:allallalludpclientudpservermakeudpclient$^-std=c++17-staticudpserver-staticclean-fmakemake clean注意:客户端使用了静态链接(-static),而服务器没有,这可能是为了客户端能在更多环境中运行而不依赖系统库。

2025-07-30 22:28:42 712

原创 测试-认识测试

软件测试就是验证软件产品特性是否满⾜⽤⼾的需求。如:功能,性能,易用性。

2025-07-30 16:36:39 715

原创 窗口(9)

代码如下:运行结果:具体的情况可以这样:代码如下:运行结果:输入对话框,让用户输入一个数据,可以是整数,可以是浮点数,还可以是字符串代码如下:运行结果:可以添加条目:代码如下:运行结果:菜单栏属于包含关系,包括菜单,菜单包括菜单项工具栏可以有多个,包括菜单项子窗口和状态栏可以放置其他控件对话框通过手动继承类的方式,针对对话框进行扩展这样得到一个更完成的程序

2025-07-20 11:43:33 306

原创 QT窗口(8)-QFileDiag

此时的打开保存等操作需要额外进行操作,并不是一下子就行的。

2025-07-19 23:39:04 306

原创 QT窗口(7)-QColorDiag

引入新的函数 getcolor。

2025-07-19 21:40:54 594

原创 窗口(6)-QMessageBox

显示消息给用户,并让用户进行一个简单的选择。

2025-07-19 19:11:03 280

原创 QT窗口(5)-对话框

想要自定义对话框,需要继承来自QDialog的类运行结果如下:可以添加控件//可以添加一些控件QLabel*label=new QLabel("这是一个对话框",this);QPushButton*button=new QPushButton("关闭",this);关键点在于:创建一个新的ui文件。

2025-07-19 14:59:31 343

原创 QT窗口(4)-浮动窗口

使用QDockWidget来实现子窗口。添加其他控件,要嵌套使用,不能直接使用。

2025-07-18 22:06:04 315

原创 QT窗口(3)-状态栏

通过showMessage可以在状态栏显示文本,时间是可以自定义的,单位是ms。如果不填,就是会持续存在。

2025-07-18 19:38:22 155

原创 Qt窗口(2)-工具栏

如果一个QAction既是QMenu的也是QToolBar的,释放的时候会不会重复delete?使用这个表示工具栏对象,一个对象可以有多个工具栏,也可以没有,工具栏往往可以手动移动。(img-J9acoj57-1752829880136)]创建多个工具栏,工具栏是可以拖动的,这种状态称为“浮动”运用ToolTip可以使其悬停显示内容。set包含替代的含义,add不包含。只会释放一次,不会重复delete。也可以设置不可以浮动。也可以设置不可以浮动。

2025-07-18 17:25:21 413

原创 Qt窗口(1)-菜单栏

与QWidget的区别:QWidget更多是作为一个窗口的一部分基本结构构成:以Xshell举例子比较菜单栏和工具栏:菜单栏:工具栏:工具栏本质是把菜单栏中一些比较常用的选项,直接放到工具栏中,直接点击工具栏中的按钮就可以快速生效。

2025-07-18 12:37:23 444

原创 QWidget的属性

注意点:窗口不透明度的变化并非精确的,主要原因是浮点数在内存中的存储,用二进制表示有效数字,小数部分第一个有效数字位表示0.5,第二个为0.25,由于float和double长度是有限的,导致无法凑出接近0.1这样的数字。

2025-07-12 23:25:42 542

原创 常用控件QWidget

注意点:导入图片的时候,需要确保导入的图片在qrc的同级目录或者同级目录的子目录中;1)QIcon自身是一个比较小的对象,创建出来之后,就是要设置到某个QWidget里面,QIcon对象本身释放或不释放,不影响图标的最后显示。路径不要带中文,如果\作为路径之间的分隔,可能作为视为一个字符,在C++11中引入raw string可以解决字符里不包含转义字符。QIcon对象:Qt把各种涉及到的涉及的概念,都封装成了类,如QIcon就可以表示一个图标。命名规律:QT中封装的这些类,都会有同名的头文件。

2025-07-12 22:36:18 471

原创 常用控件QWidget的geometry属性

与move相对比:move只是移动位置,setgeometry既可以修改,又可以修改尺寸。windowTitle属性,只能针对顶层窗口这样的QWidget才有效。点击是一上一下,可以使用函数pressed()还需要考虑到window frame。geometry()的单位是像素。

2025-07-08 07:48:28 227 2

原创 LRU Cache

缓存算法(Least Recently Used)

2025-07-07 11:58:44 470

原创 QT中的常用控件-QWidget的enable属性

在同一个界面中,要求不同的控件的ObjectName也是必须不同的,后续就可以通过ui->objectName方式来获取到对应的控件对象。与之相对应的概念是“禁用”,禁用是该控件不能接受任何用户的输入事件,并且外观上往往是灰色的。如果一个Widget被禁用,则该Widget的子元素也被禁用。enable描述了一个控件是否处于“可用”状态。

2025-07-07 11:03:22 227

原创 信号与槽的总结

本质:自定义的一个普通的成员函数可以让QTCreator自动生成本质:成员函数函数的定义是QT自己生成的,作为程序员只需要写函数声明即可signals:自定义信号的关键字emit:完成信号的发射(emit可以省略)

2025-07-05 22:31:03 603 1

原创 信号和槽(4)

lambda表达式的语法是C++11才引入的,对于QT5及其更高的版本,默认是按照C++11的语法进行编译。lambda表达式也可以引用(&)的方式捕获,这个很少用到,用到的时候就需要关注生命周期。lambda为了解决上述问题,引入“变量捕获”语法,通过这个,获取到外层作用域的变量。lambda表达式的本质:“匿名函数”,主要应用在“回调函数”的场景,一次性使用。应用场景:如果对应的槽函数比较简答,而且是一次性使用的,可以这么写。定义槽函数的时候,也是可以使用lambda表达式的。

2025-07-05 17:49:35 281

原创 信号与槽(3)

当信号带有参数的时候,槽的参数必须和信号的参数一样,此时发射信号的时候,就可以给信号函数传递实参,与之对应的这个参数就会传递到对应的槽函数中。disconnect的使用和connect类似,用于断开连接,实际用的不多,当我们把信号和槽进行连接之后,就没必要再管了。参数需要保持一致,主要是类型一致,个数可以不相同,但是信号的参数必须远大于槽的。大学生小明在外地上学父母给的生活费用会多余平常正常开销,原因在于应对突发事件。的方式进行关联,在实际开发中多对多是伪需求,一般一对一就可以解决问题。

2025-07-05 00:45:55 158

原创 关于python

"""计算矩形面积的函数:param length: 长度:param width: 宽度:return: 面积"""area = length * width # 面积计算公式​​关键点说明​使用def关键字定义函数函数参数放在括号内,多个参数用逗号分隔三引号"""用于编写函数文档字符串(docstring)使用return语句返回计算结果。

2025-07-04 23:48:21 184

原创 信号与槽(2)

QT中也是允许自定义信号的。自定义槽函数非常关键,在开发中,绝大多数情况都是需要自定义槽函数的。所谓槽函数,就是用户进行某个操作,需要进行的业务逻辑。自定义信号是非常少见的,因为在实际的开发中,QT中内置的内容绝大多数都能涵盖到了。

2025-07-04 15:52:35 250 13

原创 网络基础(3)

1)进程是人在系统中的代表,只要把数据给进程,人就相当于拿到了数据2)数据传输到主机不是目的,而是手段。到达主机内部,再交给主机内的进程才是目的上网的行为只有两种:1)从远端服务器获取数据​ 2)本地数据,上传到远端服务器**网络通信的本质:**两个不同主机的进程在进行数据交互,也就是进程间通信,这时候就会产生一个问题:在系统中,同时会存在非常多的进程,当数据到达目标主机之后,怎么转发给目标进程?在系统中,标识主机的唯一性。

2025-07-03 22:51:55 629 3

原创 网络基础(2)

1)只要有网络层就会有路由2)路由过程中,IP地址不变,MAC地址一直在变,mac地址只会在本局域网内有效3)网络层加上协议的本质意义是:给网络提供了一层虚拟化层,让世界上所有的网络都叫做IP网络。

2025-07-03 18:33:21 248 1

原创 网络基础(1)

(1) TCP/IP协议本质上是一种解决方案(2)TCP/IP协议能分层,前提是问题就能够分层协议的本质:就是约定好的结构体因为协议是分层的,所以每层都有双方都有协议,同层之间,可以互相认识对方对的协议。

2025-07-03 17:00:49 460 3

原创 信号与槽(1)

三要素:1.:由哪个控件发出2.:用户进行不同的操作,都会触发不一样的信号3.(slot)QT中可以使用connect()把一个槽和函数关联起来,后续只要有信号了,QT就会自动执行信号注意点:QT中一定是先关联信号和槽,再触发信号,否则就会错过信号。

2025-07-03 12:55:15 327 1

原创 QT初识-实现Hello World(2)

(1)双击:" widget.ui " ⽂件;(2)拖拽控件⾄ ui 界⾯窗⼝并修改内容;点击TextLineEdit,接着点击文本框进行修改(3)构建并运⾏,效果如下所⽰:实现效果:简单谈QT的信号槽机制本质就是按钮的点击操作关联一个处理函数,当用户点击的时候,会执行处理函数connect()是QT中的Object类提供的静态函数,函数的作用是连接信号槽和处理函数以下是具体的实例:以下是纯代码版本和图形化界面方式处理的对比:那么在实际的开发中,这两种方式哪个用的更多呢?例子如下:2.驼峰命名法

2025-07-02 14:41:22 166

原创 初识QT-对象树

这样开辟空间不会造成label对象会被析构释放掉,原因在于把对象挂到对象树上什么是对象树?本质上是树形结构(N叉树),通过树形结构把界面上各种元素组织起来为什么我要更推荐在堆上开辟空间,如果在栈上开辟可能会出现以下情况:对象树的应用:如在QWidget的界面。

2025-07-01 16:36:26 290

原创 Qt Hello World 程序

有两种方式可以实现这样的程序:1.通过图形化的方式创建控件来实现2.通过纯代码的方式来创建控件实现。

2025-06-30 19:33:13 191

原创 线段树的区间查询

但是实际上,查询的过程只会沿着两道线下来,每⼀条线最多在某个结点位置分出去⼀个节点。从上⾯的图中发现,感觉时间复杂度有可能会很⾼啊?因为从上往下遍历的时候,依旧会遇到很多点。对于⼀个待查询的区间,⽤拆分 + 拼凑的思想,在线段树的结点中收集结果。如果当前结点维护的区间信息包含在待查询的区间内,直接返回结点维护的信息;如果左区间有重叠,去左⼦树上找结果;如果右区间有重叠,去右⼦树上找结果。体的时间复杂度为 log(从根节点出发,向下递归;

2025-06-26 22:26:12 138

原创 线段树的引入和创建

有如下问题:有nn≤ 10) 个数,q(1 ≤ 10) 次操作,每次操作为询问区间 [lr] 的和。有nn≤ 10) 个数,q(1 ≤ 10) 次操作,操作有两种:a. 查询区间 [lr] 的和;b. 将第i个数修改成x。nnqa. 查询区间 [lr] 的和;b. 将区间 [lr] 的数全部修改成x。nnqlr以上问题,采⽤暴⼒解法显然会超时。接下来,我们学习⼀种树形数据结构 - 线段树:• 线段树是⼀棵⼆叉树,常⽤来维护区间信息;

2025-06-25 18:48:50 353

原创 JAVA(2)

关键词作用比喻真实作用break“关水龙头”阻止代码继续执行下一个casedefault“万能垃圾桶”处理所有未被case覆盖的情况试试用你的玩具车颜色写一个switch练习吧!switch (玩具车颜色) {case "红色": 说"最快!break;case "黄色": 说"最亮!break;default: 说"不认识的颜色";switch练习吧!switch (玩具车颜色) {case "红色": 说"最快!break;case "黄色": 说"最亮!break;

2025-06-25 15:21:22 911

原创 初识JAVA

byte(字节型)用于存储小范围的整数,占用1个字节(8位),取值范围是-128到127。// 定义一个byte类型的变量age,存储年龄25short(短整型)用于存储较小范围的整数,占用2个字节(16位),取值范围是-32,768到32,767。// 定义一个short类型的变量population,存储人口数量10000int(整型)用于存储中等范围的整数,占用4个字节(32位),取值范围是-2^31到2^31 - 1(约 ±21 亿)。

2025-06-25 10:18:12 778

原创 数据库(考前两天版本)

一个病房只能属于一个科室,一个病房可以住多个病人,一个病人只能住一个病房,一个医生也只能属于一个科室,但可以负责多个病人的治疗,一个病人的主治医生只有一个。如果扣钱后系统崩溃,未加钱,数据库会 “回滚” 到扣钱前的状态,确保 A 和 B 的总金额不变(一致性)。◦ 你正在修改工资表中的数据,同事同时查询该表,看到的是你修改前的 “干净数据”,不会看到中间错误状态。:删除表中的数据(如 “清空学生表”),但表还在(像清空 Excel 表格内容)。,数据独立,减少数据冗余,避免数据不一致和加强数据保护。

2025-06-18 19:56:23 664

原创 MYSQL数据类型

说明:在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。可以通过UNSIGNED来说明某个字段是无符号的无符号案例注意:尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2025-06-17 20:24:21 1023

原创 数据库选填重点

1.数据库系统的核心:数据库管理系统2.数据库系统中,物理独立性是指应用程序与存储在磁盘上数据库的物理模式是相互独立的3.数据库系统的特点是数据共享,数据独立,减少数据冗余,避免数据不一致和加强数据保护4.数据库管理系统能实现数据查询,插入和更新等操作的数据库语言称为数据操纵语言5.数据库是长期存储在计算机内的有组织,可共享的数据集合6.子模式DDL用来描述数据库的局部逻辑结构1.在关系数据库设计中,设计关系模式是逻辑设计阶段的任务2.从E-R图模型关系向关系模型转换时,一个M:N联系转换关系模式时,该关系

2025-06-17 10:09:52 329

空空如也

空空如也

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

TA关注的人

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