自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt-Git

git是一款版本管理软件, 可以在任何时间点保存文件,也能够恢复到以前任何时间点保存的文档main.cpp 在不同的时间点进行了保存,那么就能恢复到任意一个时间点保存的文件分支概念: 为项目创建多个副本,每个副本完成一个独立的工作。分支能够做到多件事情同时进行,且互不影响主分支(master)主分支是系统默认使用的分支,之前示例中的代码提交全部都是在主分支中完成的主分支上最终会保存整个项目的完整代码,项目开发完成后要上线运行,也是运行的主分支上得完整代码开发分支(develop)

2024-10-19 14:49:26 1579

原创 Qt-network (TCP & UDP)

重点:在 .pro 项目文件中要加入 network 模块QTcpServer 类: 服务器套接字 (该类只有在服务器端使用)listen 方法, 用于设置端口newConnection 信号,当新的客户端链接到服务器时触发QTcpSocket nextPendingConnection 方法,获取新链接到服务器的对象,返回值 QTcpSocket 类型QTcpSocket 类: 链接套接字peerAddress 方法,获取新链接的地址peerPort 方法,获取新链接的端口号。

2024-10-18 17:58:39 1564

原创 Qt-多线程

Qt 默认只有一个主线程,该线程既要处理窗口移动,又要处理各种运算。当要处理的运算比较复杂时,窗口就无法移动,所以在处理程序时在很多情况下都需要使用多线程来完成。示例:移动窗口和复杂循环。

2024-10-17 19:04:19 1474

原创 Qt- JSON&XML

XML(Extensible Markup Language,可扩展标记语言),是一种类似于HTML的标记语言html 都是系统预定义好的标签xml 都是自定义的标签XML是用来传输数据、保存数据,而不是显示数据。XML的标签没有被预定义,用户需要在使用时自行进行定义。XML是W3C(万维网联盟)的推荐标准。XML使用的树形结构更能表现出数据的包含关系Qt 提供了两种方案来处理 XML 文档:DOM 方式QXmlStreamReader 和 QXmlStreamWriter。

2024-10-16 19:29:02 1033

原创 Qt-正则表达式

预定义类就是将经常使用的模式进行了事先定义,项目开发的时候直接使用即可^[0-9] ---> 以0-9之间任意数字开头[^0-9] ---> 匹配非 0-9 之间的任意字符 (不匹配0-9,其他的都匹配)//验证电话号码//验证邮箱必须是 126.com 或者 163.com 邮箱//验证商品价格范围必须在: 100.00 - 99999.99 之间。

2024-10-16 09:09:38 1192

原创 Qt- QSS风格&选择器&常用属性&选择器&样式表&盒子

QSS 全称为 Qt Style Sheets 也就是 Qt 样式表,它是 Qt 提供的一种用来自定义控件外观的机制。简单理解 : QSS 的作用就是给程序美容QSS 大量参考了 CSS,但是 QSS 比 CSS 要弱很多。QSS 的选择器、属性、值都比较少。

2024-10-15 09:19:02 1563

原创 Qt-自定义控件&鼠标事件&键盘事件&定时器&绘图

事件 与 信号&槽的功能类似事件 VS 信号&槽事件与信号是两个不同层面的东西,发出者不同,作用对象也不同。事件由外部实体 ( 鼠标、键盘等 ) 生成,事件更偏底层。信号由按钮等 Qt 对象生成,例如:按钮的 clicked 信号。使用 Qt 内置组件,一般使用信号&槽;使用自定义组件时,一般使用事件QWidget 是所有控件的父类,在 Protected Functions 中提供了各种事件的虚函数。子类在继承父类时,自己实现所需要的事件虚函数。

2024-10-14 10:06:40 1190

原创 Qt-链接数据库&可视化操作

Qt 能够支持对常见数据库的操作,例如: MySQL、Oracle、SqlServer 等等。Qt SQL模块中的API分为三层:驱动层、SQL接口层、用户接口层。驱动层为数据库和SQL接口层之间提供了底层的桥梁。SQL接口层提供了对数据库的访问,包括 创建 / 删除库、表,执行增删改查的SQL语句。用户接口层提供了一种更加简便的方式将数据库中的数据链接到窗口部件上。

2024-10-11 23:13:38 1964

原创 Qt-QScrollArea&QTabWidget&QStackedWidget&QToolBox等框架

QScrollArea 是一个带滚动条的区域,当内部的内容超过区域本身大小时会显示出滚动条核心:当 scrollAreaWidgetContents 设置的尺寸不能容纳下内部的部件时,则会显示滚动条核心方法:setVerticalScrollBarPolicy(Qt::ScrollBarPolicy) :设置垂直滚动策略Qt::ScrollBarAsNeeded : 当内容超过显示区域时则显示滚动条 (推荐)Qt::ScrollBarAlwaysOff : 永远不显示滚动条。

2024-10-10 19:58:20 1581

原创 Qt-窗口布局&按钮&输入类

Qt 提供了很多摆放控件的辅助工具(又称布局管理器或者布局控件),它们可以完成两件事:自动调整控件的位置,包括控件之间的间距、对齐等;当用户调整窗口大小时,位于布局管理器内的控件也会随之调整大小,从而保持整个界面的美观。Qt 共提供了4种布局管理器:QVBoxLayout(垂直布局)QHBoxLayout(水平布局)QGridLayout(网格布局、栅格布局、棋盘布局)QFormLayout(表单布局)

2024-10-09 19:10:57 1261

原创 Qt-目录和文件

QDir 类用来处理目录常用方法:QDir(QString path) : 实例化absolutePath() : 获取目录绝对路径dirName() : 获取目录相对路径exists(dirPath) : 判断目录是否存在mkdir(QString dirPath) : 创建目录rmdir(QString dirPath) : 删除目录其他方法:entryInfoList({文件类型}) : 获取指定目录下所有的目录和文件,返回值 QFileInfoList。

2024-10-08 19:35:41 1402

原创 QT-空窗口&主窗口&对话框

QMainWindow 用来创建主窗口主窗口包含: 标题栏(Window title)、菜单栏(MenuBar)、工具栏(ToolBar)、状态栏(StatusBar)、停靠部件(DockWidgetArea)、工作空间(Central Widget)

2024-10-08 18:06:30 985

原创 QT-数据类型&容器类&窗口控件&模态框

整型: qint8、qint16、qint32、qint64无符号整型: quint8、quint16、quint32、quint64qintptr: 指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64 (Linux)浮点型 qreal;

2024-10-07 21:13:11 1053

原创 QT-自定义信号和槽&对象树&图形化开发&计算器

自定义信号的特点:自定义信号写在 signals 下自定义信号是一个无返回值的函数声明,不需要实现自定义信号允许重载Q_OBJECT //元对象系统public://信号定义在signals节点下//信号是一个无返回值的函数//信号不需要实现//信号函数允许重载signals:qDebug()

2024-09-28 10:06:38 1268

原创 QT-Qt概述&安装Qt&创建项目&常用基础部件&信号和槽

信号 和 槽 用于两个对象之间的通信,是 Qt 特有的消息传输机制。作用: 对一个部件进行操作时,另一个部件可以进行响应。信号函数 和 槽函数 通常位于某个类中信号函数用 signals 关键字修饰,槽函数用 public slots、protected slots 、private slots 修饰signals 和 slots 是 Qt 在 C++ 的基础上扩展的关键字,专门用来指明信号函数和槽函数connect 用于链接 信号 和 槽,使其产生需要的效果// 参数1: 发送信号的部件。

2024-09-27 12:06:38 1281

原创 常见的算法策略-(递归&贪心&分治&动态规划)

编写递归程序三部曲:定义函数功能;找出递归的终止条件;递推函数的等价关系式。(汉诺塔, 遍历)举例:求连续n个数的和第一步:定义函数功能第二步:找出递归的终止条件第三步:找出递推函数的等价关系式。

2024-09-23 17:33:43 988

原创 算法-查找算法(顺序查找&二分查找)

查找也称为搜索,就是从数据中找出满足特定条件的元素。常见的查找算法:顺序查找、二分查找。

2024-09-19 19:38:21 433

原创 算法-排序算法(冒泡&选择&插入&希尔&快速&归并&堆&计算)

算法的空间复杂度是对一个算法在运行过程中临时占用的存储空间大小的度量,用大O(n)记号表示。一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的空间、算法的输入、输出数据所占的存储空间、和算法在运行过程中临时占用的存储空间三部分。算法本身所占用的存储空间和算法的编写的长短成正比,要压缩算法本身所占用的空间,就必须编写出较短的程序。算法的输入输出数据所占的存储空间是由要解决的问题决定的,它不随着算法不同而改变。

2024-09-18 17:33:56 1056

原创 数据结构-递归&受限线性表(栈&队列)&树(二叉树)

在函数定义中,出现自己调用自己的情形,称为递归。递归的特点:自身调用:原问题可以分解为子问题,子问题的求解方法和原问题是一致的,即都是调用自身同一个函数。终止条件:递归必须有一个终止条件,即不能无限的调用自身。

2024-09-14 00:50:00 1257

原创 数据结构-线性表顺序&单项链表&双向链表&循环链表

线性表是n个元素组成的有限序列,a1,a2,a3....an,其中ai(1

2024-09-13 22:14:08 1241

原创 设计模式-组合模式

可以利用多态和递归机制更方便的使用复杂树结构。遵循开闭原则,无需更改现有的代码,就可以在应用中添加新元素,使其成为对象树的一部分。

2024-09-04 18:20:26 790

原创 设计模式-装饰器&代理&观察者

优点:职责清晰:真实角色就是实现实际的业务逻辑,不关心其他非本职的事务,通过后期的代理完成非本质事务,编程简单清晰。高扩展性:具体主题角色可变。缺点:由于在客户端和真实主题之间增加了代理,因此可能会造成请求的处理速度变慢(因为代理加了控制)。实现代理模式需要额外的工作,有些实现非常复杂。观察者模式的优势:主题(Subject)无需耦合某个具体的观察者(如ConsObserver),而只需要知道其抽象接口AbsObserver即可。观察者模式解除了主题和具体观察者的耦合,依赖于抽象,而不是依赖具体。

2024-09-04 16:45:05 1326

原创 设计模式-原型&适配器&桥接&外观

原型模式是一种不太常见的创建型模式,我们平时的工作中几乎不会遇到这种模式,但是在一些框架设计中会用到,这里我们只做了解即可。在类适配器模式中,适配器与被适配者之间是继承关系。在对象适配器模式中,适配器与被适配者之间是关联关系;不论是类适配器还是对象适配器,适配器模式都将现有接口转化为客户类所期望的接口,实现了对现有类的复用(不用修改目标抽象类)。推荐使用对象适配方式,因为耦合度低,符合合成复用原则。

2024-09-03 19:18:25 2380

原创 设计模式-单例模式&工厂模式

1. 在内存中只有一个对象,节省内存空间2. 避免频繁的创建销毁对象,可以提高性能。工厂类包含必要的逻辑判断,可以根据用户需求动态实例化相关的类。客户端可以免除直接创建产品对象的职责,去除了与具体产品的依赖。工厂和产品的职责区分明确。工厂方法模式 = 简单工厂模式 + 开闭原则1、抽象工厂模式隔离了具体产品的生产,使得客户并不需要知道什么产品被创建,一个工厂可以创建各种产品。2、当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。

2024-09-02 18:19:21 2434

原创 设计模式-UML建模语言&面向对象的SOLIDLC

任何事情都需要先想清楚了才能做,盖房子有图纸,装修有设计图纸,软件开发更是如此。软件开发过程不能一上来就开始写代码,写代码之前必须搞清楚下面这些问题?要做什么?做成什么样?怎么去做?当然以上问题必须以用户(甲方)的需求作为基准。高内聚、低耦合讲的是程序单位协作的问题。内聚和耦合的的评判标准是强度,内聚越强越好,耦合越弱越好。最弱的耦合就是通过一个主控模快来协调n个模块进行运作,最强的内聚就是功能不能拆分,也就是原子化。

2024-08-31 09:12:01 1439

原创 网络基础-实现在Windows系统下的socket环境地址通信

【代码】网络基础-实现在Windows系统下的socket环境地址通信。

2024-08-29 19:23:54 572

原创 网络基础-TCP/UDP/IP/ICMP/FTP/WebSocket协议

TCP是传输控制协议,是面向连接的、可靠的、基于IP协议的传输层协议。

2024-08-29 18:18:01 1324

原创 网络基础模型和HTTP协议

全称是开放系统互连模型,国际标准化组织ISO制定的互联网通信标准。四层模型是简化的模型,七层模型是理论层面理想化的,四层模型才是实际应用的模型。

2024-08-28 18:43:41 1004

原创 C++11特性-多线程

程序:程序是指令和数据的结合,是一个静态概念,如果不运行,相当于一个静态文件。进程:进程是程序的执行过程,此时它是动态的,它加载到了内存当中,使用了操作系统的各种资源。线程:线程是进程中的实际运行单位,是操作系统可以调度的最小单位。每个进程至少包括一个线程。多线程就是指一个进程中同时有多个线程在执行。

2024-08-27 18:58:26 797

原创 C++11特性-智能指针

1)共享指针用在所有权不明,多个指针管理同一个内存的情况。2)独占指针强调的是专属所有权,只有他自己可以管理这块内存。3)大家如果决定使用智能指针,就要保持一致都使用智能指针,而不要跟裸指针混用。4)使用智能指针,要先做初始化,给每个智能指针起个名字。然后再使用。5)牢记使用智能指针的注意事项。6)智能指针虽然好用,但是会降低程序的性能,所以不适合用在高性能的场景。

2024-08-26 19:35:12 944

原创 C++11特性-自动类型推导&空指针&Lambda表达式&for范围遍历&初始化列表&类型别名

auto即自动,它可以自动推导变量的类型。使用auto之后,我们在定义变量的时候不需要声明变量的数据类型,而是让编译器根据变量的值自动推导(前提是得有值)。语法:auto 变量名称=变量的值;此处auto起到了占位符的作用,等到编译的时候,auto会被真正的类型所取代。注意:使用auto必须马上对变量初始化,否则无法完成推导,会导致报错。

2024-08-23 18:10:36 938

原创 linux系统-docker容器

docker翻译过来就是容器,是一种操作系统层面的虚拟化技术。是对进程进行封装隔离,可以理解为一个轻量级的虚拟机。docker是基于Linux操作系统的虚拟化技术,因此docker必定运行在Linux环境。开源免费,操作简便,可以快速搭建各种环境。容器包含了一整套运行时环境,比如系统所需的各种依赖、类库、配置文件等等。

2024-08-22 18:46:01 1232

原创 Linux系统-打包&重定向/管道符/进程&shell脚本

注意:定义变量时等号左右两边不能有空格。注意:定义变量时,变量的值可以使用单引号和双引号,但是有很大区别:单引号会原样输出,双引号会解析里面的命令和变量。推荐使用双引号。

2024-08-21 18:59:00 966

原创 Linux系统-vi/vim编辑器&权限管理&文档处理三剑客

快捷键:gg 跳到文件开头,G 跳到文件最后一行。快捷键:0 跳到行首,$ 跳到行尾。快捷键:CTRL+鼠标左键,可以将光标定位到任意位置快捷键:dd 删除光标所在行删除多行:首先进入底线模式,输入显示行号命令:set nu,然后输入你要删除的行,再输入d,即可删除。如:5,10d 代表删除5-10行。取消行号命令:set nonu撤销恢复操作:按u。

2024-08-20 19:51:52 855

原创 Linux系统-系统信息&网络&目录&文件的相关命令

df -Th 这是参数连着写。相当于df -T -hdf -Th此命令主要用于监控服务器的磁盘空间,如果空间不够用了,会导致服务器和应用的性能严重下降。这时候要手动清理一些不用的垃圾文件,比如大量的日志文件等。-T:代表type类型,可以查看到磁盘的类型。-h:代表human人类,就是以人们熟悉的单位来表示磁盘大小,如K、M、G。如果不加这个参数,默认以KB字节单位显示,可读性差。查询结果含义:size代表磁盘总大小,used代表已使用的空间,avail代表剩余可用空间。

2024-08-19 22:34:17 1268

原创 Linux常用操作

使用-y参数,可以在安装的时候,一路点yes,而不需要给我提示。注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,要及时清理未下载完成或者不可用的文件。其中:22端口,一般是SSH服务使用的端口,即SHall软件远程连接Linus所使用的端口。选项:-x 是为了显示更多信息 num1 数字,刷新间隔 ,num2 数字,刷新次数。yum是一种在线安装软件的方式,使用起来很方便,可以帮我们解决软件依赖的问题。wget是非交互式的文件下载器,可以在命令行内下载网络文件。用户可以省略,默认到root。

2024-08-18 18:52:57 631

原创 Linux的概述&Linux的基础命令

Linux是一个多任务多用户的网络服务器开源操作系统。

2024-08-17 16:19:54 1324 1

原创 51单片机-LCD1602显示屏

是一个液晶显示屏,通过电压对显示区域进行控制,有电就显示。能够同时显示32个字符,分为两行,一行显示16个字符。可以显示的内容只能是字母、数字或者一些特殊符号。使用ASCII码来让LCD1602来显示对应的字符。

2024-08-15 19:04:53 1137 1

原创 51单片机-LED灯&蜂鸣器&数码管&按键&DS18B20温度传感器

蜂鸣器是一种一体化结构的电子发生器,主要是用来起到报警的作用。一种控制电流的半导体器件,作用就是把微弱的电信号放大成更大幅度的电信号,在电路中主要作用于开关和放大电流的作用。三级管有三个引脚:B(基极)、C(集电极)、E(发射极)。PNP三极管的图示:关键点在于B极和E极之间的电压情况,对于PNP而言,只要E极电话高于B极0.7V以上,这个三极管就可以顺利导通。DS18B20是一款常用的高精度单总线数字温度测量芯片,体积小,占用资源少,抗干扰能力强。

2024-08-14 19:01:00 1304

原创 51单片机

图示:STC89C52是一个低电压,高性能的8位单片机,片内含有8k的可以反复擦写的flash只读存储器和256byte的随机存储器,兼容标准的MCS-51指令系统。

2024-08-14 09:10:47 351

空空如也

空空如也

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

TA关注的人

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