- 博客(21)
- 收藏
- 关注
原创 qt事件循环笔记
notify和一起工作,构成了Qt事件处理机制的核心。notify方法是Qt事件系统与应用程序之间的接口,而则负责实现事件的具体过滤和分发逻辑。通过这种方式,Qt能够灵活地处理各种类型的事件,同时允许开发者通过安装事件过滤器来拦截和修改事件的传递过程。通过上面的分析,可以获得5种处理或过滤事件的方法;1.重写事件;2.event中处理;3.事件过滤器;4.notify;5QApplication安装事件过滤器。
2024-07-13 23:09:27
836
原创 mysql基本操作笔记
3.1指定条件更新(replace用法):update 表set 字段1=replace(值)…2.查询数据: select 字段1, 字段2 from 表名 where 限定条件;alter table 表名 modify 列名 新数据类型;1.创建表(字段):CREATE TABLE 表名(字段)alter table 表名 rename to 新表名;alter table 表名 add 列名 数据类型;alter table 表名 drop 列名;show create table 表名;
2024-07-10 17:42:16
329
原创 qt利用其他网络接口(如百度AI)获得其算法结果并解析的方法
QNetworkAccessManager ,QNetworkRequest,QNetworkReply,这3个类组合一起可以发出数据请求,然后根据QNetworkReply的应答信号finished来获取请求的数据,可以根据QNetworkReply中readAll来解析所请求的数据,(例如用百度的AI接口可以用来人脸识别, 即我提供数据通过前面的3个类发送请求 然后根据信号finished利用槽函数中QNetworkReply中readAll来获取百度算法计算好的结果,当然请求方法要根据接口要求对应)
2024-07-03 09:05:41
505
原创 QVariant与QImage的转换demo
QVariant 作为函数参数时候, 实际传入QImage,看起来是QVariant将QImage做了隐式转换一样(可能是qt的元对象做了某些处理);4 paintEvent打印出了 QVariant将QImage转换后的图片。3 函数initQimage 接受image 并返回。1 .h中声明 QImage image;2 cpp添加图片到image。
2024-07-01 21:52:53
250
原创 c++指针值传递的坑
P只是 str的一个拷贝值, p开辟了空间,但是str的值还是原来的空值, p在函数运行完就释放了,str这里没有内存空间;函数的参数会产生一个临时变量,指针也是变量,所以这里指针是值传递,改变P开辟了空间而str没有得到改变;
2024-06-27 10:37:01
231
原创 c++多态 函数重写与隐藏 (多态 虚函数表和指针)
2. obj2 指向Derived的指针, 调用与父类同名函数时候,父类的同名函数会被隐藏(就近原则);3.上面举例有多态 继承 虚函数 虚函数表 隐藏(覆盖) 等知识, 包括重载这里我都不写了。1. 定义基类obj 指针指向基类, 调用非虚函数FunB()会调用基类的FunB();
2024-06-26 16:54:21
169
原创 c++的拷贝构造问题,为什么类写了拷贝构造最好也要重写赋值运算符
2. 重写赋值运算符: 如果类对象中有指针,对象是给旧对象复制,这个时候调用赋值方法,如果没重写,也会导致内存重复释放,1. 重写拷贝构造,可以避免深拷贝与浅拷贝的问题,避免内存被重复释放;所以类写了拷贝构造最好也要重写赋值运算符;
2024-06-26 10:49:45
149
原创 构造函数为什么要有const 引用
2. 函数返回值调用拷贝构造时候,返回值产生的临时值是常属性,所以拷贝构造得加const去匹配。1. 引用是为了避免值传递无限递归。
2024-06-24 08:55:29
430
原创 RPC
RPC(Remote Procedure Call,远程过程调用)是一种技术,它允许计算机程序调用另一台机器(服务器)上的程序或服务,而这个过程对于开发者来说看起来就像是本地过程调用一样。RPC 抽象了底层的网络通信过程,使开发者无需关心网络交互的细节,直接进行函数或方法的调用。
2024-06-19 10:27:50
78
原创 C++网络编程中,网络粘包
网络粘包是指在TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。简单来说,就是当发送方连续发送多个数据包时,接收方可能会将这些数据包合并为一个较大的数据包进行接收,或者接收方在接收数据时,一个较大的数据包被拆分成多个小的数据包。网络粘包是C++网络编程中常见的问题之一,主要发生在TCP协议通信过程中。为了解决这个问题,可以采用定长消息、分隔符消息或封包和解包等方式来确保数据的正确传输和解析。
2024-06-19 10:24:29
255
原创 c++数据序列化
C++数据序列化是指将一个内存中的对象转换成一串字节数据(通常存储在一个字节数组中),以便于保存到本地文件或通过网络进行传输。这个过程将对象的状态信息转换为一种可以存储或传输的形式。简单来说,序列化就是将对象实例的状态转换为可保持或可传输的格式的过程。总的来说,C++数据序列化是一种强大的技术,它允许程序员轻松地保存、加载和传输对象的状态,从而简化了应用程序的开发过程。
2024-06-19 10:11:34
180
原创 c++大小端
在这种模式下,数据的最高有效字节(Most Significant Byte, MSB)存储在内存的最低地址处,而最低有效字节(Least Significant Byte, LSB)则存储在最高地址处。因为不同的系统可能使用不同的大小端模式,所以如果在这些系统之间传输数据,可能需要执行适当的字节顺序转换(也称为"端序转换"或"字节序翻转")。:在这种模式下,数据的最低有效字节(LSB)存储在内存的最低地址处,而最高有效字节(MSB)则存储在最高地址处。在C++中,可以使用一些库函数(如。
2024-06-19 10:00:48
310
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人