QDataStream数据流

Comment
QDataStream类用于将任意常见类型的数据以二进制写入到指定的目标中,同时也可以按写入的顺序从目标中读取这些类型的数据,实现数据的序列化。 这个操作在通信中很有用,例如:我需要将一个学生对象传递给对方,我只需通过QDataStream把学生对象序列化成一个二进制数据发送给对方,对方通过QDataStream反序列化就可以得到这个学生对象的数据。 数据流...

Read More

QTextStream文本流

Comment
用法 12345678910QTextStream() QTextStream(QIODevice *device) QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite) QTextStream(QString *st...

Read More

QString的使用

Comment
字符串拼接 QString对于很多运算符做了重载,可以直接用+号,或者.append方法,有时候想要用占位符替代的话,需要以下这种形式: QString str1 = QString("%1---------------%2").arg("hello").arg(" world!"); 这样输出s...

Read More

qt-事件过滤器

Comment
作为事件过滤器的要求是QOject对象,监听的事件为QEvent的对象。 事件过滤器对象需要重写eventFilter()函数。函数的参数不需要自己传,目标对象会自动传,前提是使用了installEventFilter函数。

Read More

从零开始的桌面收音机

Comment
核心MCU选用的是ESP32 C3。LNA_IN(射频输入和输出)串联0欧姆电阻防止信号被干扰,原因似乎是防止阻抗不匹配。 外接SD和NOR FLASH。 usb供电下载和usb转ttl内置。

Read More

顺序容器

Comment
vector有多个构造函数,默认的构造函数是构造一个初始长度为0的内存空间,且分配的内存空间是以2的倍数动态增长的,在push_back的过程中,若发现分配的内存空间不足,则重新分配一段连续的内存空间,其大小是现在连续空间的2倍,在将原先空间中的元素复制到新的空间中,性能消耗较大。 vector在尾端增添数据拥有比较好的性能。 vector内部实现实际上是动...

Read More

非类型参数

Comment
非类型参数只能是整数、枚举类型、指向外部链接的指针 非类型参数不能是一个浮点类型和类类型

Read More

抽象类

Comment
包含有纯虚函数的类称作抽象类 纯虚函数: ‘virtual void Test(void)=0;’ 基类不需要实现函数,提供模板为子类使用。 抽象类不能创建对象,因为纯虚函数没有实现功能。 可以作为引用或者指针的类型。 子类继承抽象类时必须实现抽象类里面的全部纯虚函数,否则子类也为抽象类

Read More

虚析构函数

Comment
若子类继承基类,两者析构函数不加virtual关键字,此时调用函数 参数为基类指针指向子类对象 删除对象,那么只会执行基类构造函数,此时对于编译器而言,你传进去的基类指针,在函数体已经静态编译好为基类的构造函数。 如果在基类的析构函数前加上virtual关键字,此时对于子类的析构函数,也会自动加上virtual关键字,从而加入到虚函数表中,再调用上面的函数,...

Read More

隐藏

Comment
当子类继承基类时,若函数名相同,参数名不同,此时基类有没有virtual关键字,函数都将被隐藏 当子类继承基类时,若函数名相同,参数相同,基类没有virtual关键字,此时基类函数将被隐藏

Read More