自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ModBus 协议

Rx:01 03 00 00 00 0A C5 CD //读保持寄存器起始地址00 00 数量为10。读写布尔量:输出线圈 0区 00001-09999。读写寄存器:输出寄存器 4区 40001-49999。只读寄存器:输入寄存器 3区 30001-39999。起始寄存器: 二个字节 0-65535。读取输出寄存器 0x03。写入单个输出寄存器 0x06。一个字节: 0 - 255。写入多个输出寄存器0x10。

2023-04-26 14:36:27 478

原创 Qt 文件操作

【代码】Qt 文件操作。

2023-04-24 13:34:08 94

原创 Qt 网络开发

收到数据会触发信号(readyRead),在连接的槽函数中调用QTcpSocket对象的read/readAll接收。收到数据会触发信号(readyRead),在连接的槽函数中调用QTcpSocket对象的read/readAll接收。//readDatagram(首地址(),长度,发送方ip,发送方端口号);2、UDP数据包套接字--------------QUdpSocket。1、TCP流式套接字--------------QTcpSocket。3、在槽函数中获取和客户端通信的套接字。

2023-04-12 13:19:54 340

原创 标准对话框

/若没有该操作则关闭主窗口才会释放内存。//没有this是系统级、有this是窗口级的。//窗口关闭释放内存。void MainWindow::on_pushButton_2_clicked() //非模态。void MainWindow::on_pushButton_2_clicked() //非模态。//弹出的对话框有两种:窗口级、系统级。

2023-04-03 18:49:28 62

原创 Qt QTreeWidget/QTableWidget/QListWidget

addTopLevelItem:增加一个根节点*item);需要什么就使用QTreeWidgetItem 去创建一个对象。

2023-04-03 16:33:12 122

原创 Qt 信号/槽

自定义信号:只声明不定义 信号怎么触发调用信号函数即可 信号调用的时候一般前面加emit(可写可不写)自定义一个槽函数:权限,特殊的成员函数 头文件中的类需要宏定义Q_OBJECT 需继承QObject。信号和槽的参数要一致(个数,类型)信号函数有五个参数槽函数也要有五个参数。connect尽量放置在构造可以有效防止反复连接。信号参数可以多于槽,反之不行。信号和槽其本质是函数。

2023-03-27 20:56:00 53

原创 Qt Designer

类:类实例化了两个按钮如下 属性:描述该事物

2023-03-27 20:10:11 36

原创 强制类型转换

查看运行结果,问题来了,指针p和指针q都是指向a变量的,指向地址相同,而且经过调试发现002CFAF4地址内的值确实由10被修改成了20,这是怎么一回事呢?为什么a的值打印出来还是10呢?其实这是一件好事,我们要庆幸a变量最终的值没有变成20!变量a一开始就被声明为一个常量变量,不管后面的程序怎么处理,它就是一个常量,就是不会变化的。试想一下如果这个变量a最终变成了20会有什么后果呢?

2023-03-27 10:58:18 1717

原创 设 计 模 式

比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能产生故障。如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类C来说不是最小接口,则类B和类D必须去实现他们不需要的方法。

2023-03-23 08:57:14 53

原创 C++ 容器list

/ const 说明 iterator适配器是只读的不能被修改it!it++)//error 只读不能修改it!it++)

2023-03-15 19:39:18 106

原创 C++ 模板

template T add(T a, U b) // < 类型的个数 > add:函数名 (传参)

2023-03-14 20:33:53 39

原创 C++ 多态

//虚函数。class Person{ //纯虚类(抽象类)

2023-03-14 16:27:17 47

原创 C++ 继承

class Derived : public Base{ //Derived 继承 Base 子类(派生类)class Derived : public Base{ //Derived 继承 Base 子类(派生类)class Derived : public Base{ //Derived 继承 Base 子类(派生类)//先执行父类的构造在执行子类构造,然后子类析构,最后父类析构。class Base{ //父类(基类)class Base{ //父类(基类)

2023-03-13 21:14:52 53

原创 c++ 操作符重载

【代码】c++ 操作符重载。

2023-03-12 16:04:21 77

原创 POSIX文件操作

read/open/close/write POSIX文件操作

2023-03-09 13:53:04 211

原创 c++ 拷贝构造

【代码】c++ 拷贝构造。

2023-03-08 20:17:09 65

原创 c++ static/inline/friend

【代码】c++ static/inline/friend。

2023-03-08 15:33:50 163

原创 C++ 初始化列表/const

int getAge() const{ //该函数只可读不能写。在定义私有变量的时候使用引用与const时二者都需初始化,则可以通过初始化列表来初始化。Student(){ //构造函数(可以有参数)~Student(){ //析构函数(没有参数)

2023-03-08 11:01:26 92

原创 c++ 引用(&)/new/delete

指针:指针就是内存地址,指针变量是用来存放内存地址的变量.不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。在C++语言中,函数的参数和返回值的传递方式有三种:值传递,指针传递和引用传递.引用具有指针的效率,又具有变量使用的方便性和直观性.引用:引用不是新定义一个变量,而是给已存在变量取一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间.实际上引用可以做的事,指针都可以做,为什么还要引用呢?

2023-03-07 19:05:01 172

原创 C++/类和对象/属性和方法

类和对象:类是对象的抽象,对象是类的实例val 和 num 就是两个成员变量也就是两个对象,他们两个都是int类型也就是类C/C++的基本类型实例化对象

2023-03-07 18:59:26 446

原创 C++ 权限/ 构造/析构函数

【代码】C++ 权限/ 构造/析构函数。

2023-03-07 18:58:25 86

原创 C++/函数重载/默认参数

【代码】C++/函数重载/默认参数。

2023-03-07 11:25:33 61

原创 cin/cout/命名空间

在使用定义为std的命名空间中某些格式例如:cin、cout 等时,需要在前面定义一个命名空间,才能使用。若没有定义命名空间,则需要加上作用域 若重复的使用某个语句时则可以定义一个命名空间 一般不定义命名空间与定义的另一个命名空间有重合,若有则不影响若命名空间的内容有重合,则需要加上只作用域

2023-03-07 10:20:18 93

空空如也

空空如也

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

TA关注的人

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