自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 甲乙类,乙类放大电路

甲乙类放大电路和乙类放大电路是功率放大器根据晶体管工作点设置的不同而划分的两种类型,它们的主要区别在于静态工作点的选择及其对信号处理效率与失真的影响。总结来说,如果对效率有较高要求且可以接受一定程度失真的场合,会选择乙类放大器;而在对音质有严格要求或者对低失真度有需求的情况下,会更倾向于采用甲乙类放大器。

2024-02-19 14:32:21 422

原创 Qt:动态库的添加

在编写代码时,SDK(Software Development Kit)这个缩写意味着“软件开发工具包”。SDK 是一组预先编译好的库、API(应用程序接口)、工具、文档、示例代码和其他资源的集合,这些组件旨在帮助开发者更方便地为特定的平台、操作系统、硬件设备、编程语言或服务编写应用程序。通过使用SDK,开发者可以快速集成和利用特定技术或服务的功能,而无需从零开始实现所有底层细节。三、根据需要选择路径以及开发环境,即可在.pro文件中生成。一、在项目名称右键选择-添加库。

2024-01-16 15:32:24 510

原创 c++:explicit 的作用

而当我们希望避免这种隐式的类型转换行为,防止可能引入的混淆或错误,就可以使用。具体到类的构造函数上,如果一个单参数构造函数未标记为。关键字用于修饰构造函数。当一个构造函数被声明为。时,编译器将禁止对该构造函数进行隐式类型转换。

2024-01-11 15:20:10 366

原创 C++:静态库与动态库

在编写代码时,SDK(Software Development Kit)这个缩写意味着“软件开发工具包”。SDK 是一组预先编译好的库、API(应用程序接口)、工具、文档、示例代码和其他资源的集合,这些组件旨在帮助开发者更方便地为特定的平台、操作系统、硬件设备、编程语言或服务编写应用程序。通过使用SDK,开发者可以快速集成和利用特定技术或服务的功能,而无需从零开始实现所有底层细节。

2024-01-09 18:49:45 1084

原创 QT:qRound,memcpy,setNum函数

作用:以source指向的地址为起点,将连续n个字节的数据,复制到以destin指向的地址为起点的内存中。函数有三个参数,第一个是目标地址,第二个是源地址,第三个是数据长度。数据长度的单位是字节;注意有一个返回值,类型是void*,是一个指向destin的指针;memcpy是一个用于内存复制的函数,声明在string.h中。2、int转QByteArray。除此之外,还可以使用setNum。1、取整函数qRound();

2023-11-15 16:45:32 409

原创 c++:对象特性-函数的分类及调用

需要注意的是,匿名对象,在该行代码执行完毕后,会立即收回匿名对象,就是说调用完该构造函数后,会立即调用析构函数;不能利用拷贝构造函数初始化匿名对象,编译器会任务是一个对象声明;构造函数,按照参数类型分为有参构造和无参构造两种;按照类型分类为普通构造和拷贝构造两种;

2023-11-06 09:32:56 56

原创 c++:构造函数与析构函数

如下图,test函数中并没有调用函数,仅仅创造了person类,但是在main中调用test时,就自动调用了构造函数,且只调用了一次,输出一次结果;构造函数:作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用;析构函数:作用于在对象销毁前,系统自动调用,执行清理工作;4、程序在调用对象时候自动调用构造,而且只会调用一次;4、程序在对象销毁前会自动调用析构,而且只会调用一次;1、构造函数,没有返回值,无需写void;3、构造函数可以有参数,因此可以发生重载;

2023-10-31 22:17:21 52

原创 c++:封装-成员属性私有化

所以,对于设置成私有的成员属性,通过会再设置public类型的接口,使之能够进行读和写;同样,也可以只为某一属性提供写入的接口,从而达到控制属性读写权限的目的;2、对于写的权限,可以对写入数据的有效性进行检验;运行结果如下,说明通过成员属性私有化可以对读写权限进行控制;1、可以自己控制读写权限;

2023-10-26 22:19:30 66

原创 C++:类和对象-封装-属性和行为作为整体

例如,人这个事物可以作为一个对象,他的属性有名字,身高,体重等,行为有跑步,走路,吃饭等;封装的访问权限有:公共public,保护权限protected,私有private;保护权限protected:类内才可以访问 类外不可以访问,继承的对象也可以访问。私有权限private:类内可以访问,类外不可以访问,继承的对象不可以访问。封装就是把事物的属性和行为当做一个整体呈现,并且可以对其进行权限的控制;C++面向对象的三大特性为:封装,继承,多态;如下,设计了一个圆类,实现了求圆的周长的功能;

2023-10-22 21:59:19 24

原创 C++:函数重载

2、函数重载有默认参数是,如下代码会显示多个重载函数;也就是说func的值传递为10时,两个函数单独都可以调用,就也不能够进行函数重载;但是,返回值不可以作为函数重载条件是指,函数返回值类型不一致的两个同名函数,编译器无法识别;2、函数参数类型不同,或者个数不同,或者顺序不同;通过函数重载,可以使用相同的函数名,提高复用性;运行结果如下,可以看到根据函数参数类型,自动调用了合适的函数;3、但是函数返回值不可以作为重载的条件;1、当引用作为重载的条件时, 代码如下,1、同一个作用域下;

2023-10-22 18:52:15 23 1

原创 引用做函数参数

引用做函数返回值时,函数可以作为左值,如上代码,前两次输出为10,后两次输出为1000;di函数调用完后返回的是变量a的引用,相当于对a进行赋值;第一次可以成功输出reg=10,编译器做了保留,第二次输出就为乱码了,a的内存已经释放了。函数传参的方式如值传递,地址传递,引用传递;不合法,需要初始化,即int &b = a;1、值传递,形参不修饰实参,原地址存储的对应数据没有被改变;2、地址传递,通过地址找到实参,存储的数据被改变;所以,如果函数的返回值是引用,这个函数就可以作为左值;四、引用做函数返回值。

2023-10-18 22:25:04 165

原创 QT:LNK2019:无法解析的外部符号的多种解决方式

一、该错误的本质是链接器无法在已编译的obj、lib或dll文件中找到函数定义,所以需要删掉已存在的debug和release文件重新编译;原文链接:https://blog.csdn.net/SBKnight/article/details/126162518。链接器 -> 输入 -> 附加依赖性 -> 写库的lib路径 …/bb/testlib.lib。以这种为前缀的基本上跟库相关的,说明无法正常调用库,一般是路径有问题,在属性上需要校准好;C/C++ ->常规 -> 附加包含目录 -> 写库目录 …

2023-10-13 20:00:20 4062

原创 Qt:响应忙时使用延时处理

使用while循环持续比较当前的时间currentTime和期望到达的时间reachTime,当当前时间已经超过期望时间后,跳出循环,否则等待;通过QTime ::currentTIme能够获取当前的时间,而addMSecs则返回比当前时间晚msec毫秒的新的时间;声明一个函数sleep,参数为 unsigned int型的数据,为延时的毫秒数;QTime对象包含一个时钟时间,提供了比较时间和通过增加毫秒数来控制时间的方式;

2023-10-13 09:07:57 67

原创 结构体数组,结构体指针,结构体嵌套结构体

存放相同组合的大量数据时,可以通过创建结构体数组的方式进行;

2023-10-03 22:20:17 40 1

原创 第八百次重修指针之脑明白指针常量,常量指针

const意为常量,当const放在指针,即int * 前时,表明为指针常量,即指针变量的值无法修改,但是指向可以修改;当放在指针变量p前时,表明p指向的地址为常量,也就是指向不可以修改,但是可以修改该地址的值;或许可以这么记,const放在*p前,而*表示取内容,表明指向的内容无法修改;而p前表明指针无法修改,也就是指针指向的位置无法修改;

2023-10-01 21:17:57 40 2

原创 RS485通信协议、RS232通信协议,CAN总线协议概述

RS-232(又称EIA RS-232)是常用的串行接口标准之一,由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定。

2023-09-30 18:27:09 791

原创 Qt上位机软件串口通讯

如下例子添加了文本还是数据显示方式的判断,将读到的数据通过insertPlainText插入到plainTextEdit中;Qt与下位机通讯可以使用提供的串口通信的类QtSerialPort(串行端口类),QSerialPortInfo(串行端口信息类);.h中增加槽函数声明,增加串口初始化函数声明,QSerialPort类的端口函数声明;首先构造函数中,需要进行系统初始化,也就是设置前文n,8,1;下面,以串口助手为例,解释串口通讯设置使用方法;2、设置波特率,如9600,n,8,1;

2023-09-25 19:17:26 207

原创 Qt:两种定时器的使用与差异(QObject 和 QTimer)

定时器应用场景很多,凡是涉及到延时等的场景都可以通过定时器来实现,Qt提供了两种定时器,一种是QObject类提供的定时器 和 QTimer类,本次讨论QObject 和 QTimer的使用与二者之间的差异;

2023-09-21 19:49:57 449 4

原创 Qt : 简单介绍五种界面布局方式!(非常简单)

Qt提供了方便快捷的界面布局方式,包括水平布局,垂直布局,网格布局,表单布局,以及分组布局的方式,避免了手动排布的繁琐,能够覆盖大部分设计需要;

2023-09-16 14:59:28 3581

原创 Qt:举例了解信号与槽Signals and slots

运行后,当从输入框输入例如notepad,点击确定(信号)后,执行以上代码(槽),首先将notepad传递给program,而后start program,即打开记事本;1、在设计界面右键某一控件后可选择槽响应需要执行的操作,随后在.h及.cpp文件中添加响应的代码,并且可以在.cpp文件中写出点击该按钮后运行的代码;即当点击界面某按钮时,会发出点击的信号,接收到点击信号后会运行某段代码,那么这段代码就称为槽;指针ui指向界面文件,通过指针访问界面文件中的对象cmdLineEdit中的成员函数text;

2023-09-14 17:02:45 97

空空如也

空空如也

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

TA关注的人

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