自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QT-天气预报

【代码】QT-天气预报。

2024-02-21 01:19:36 407

原创 香橙派增加网络控制功能

1.客户端能够发送状态给服务器;正常断开,强制关闭客户端等,客户端能够做出反应。2.客户端不能发送状态给服务器;突然断网,断电,客户端卡死等,客户端根本没机会做出反应,服务器更不了解客户端状态,导致服务器异常等待。心跳包的实现,心跳包就是服务器定时向客户端发送查询信息,如果客户端有回应就代表连接正常,类似于linux系统的看门狗机制。心跳包的机制有一种方法就是采用TCP_KEEPALIVE机制,它是一种用于。

2024-02-20 10:28:57 286

原创 香橙派使用USB摄像头

d.推荐使用 mjpg-streamer 来测试 USB 摄像头,比 motion 流畅很多,使用mjpg-streamer 感觉不到任何卡顿。​ e) ./image.jpg 用于设置生成的照片的名字和路径。(2).在家目录下创建mjpg.sh目录,mjpg.sh的内容是以下。​ b) --no-banner 用于去除照片的水印。​ (1).拷贝内容到mjpg.desktop。(4).看一下mjpg.streamer有没有起来。(4).执行mjpg.sh,执行方式如下。

2024-02-20 10:23:12 773

原创 香橙派垃圾桶增加开关盖的功能

sudo——初始化wiringPi时,打开串口需要sudo权限。-E-------保留当前用户环境变量。

2024-02-20 10:22:27 265

原创 基于Linux的智能垃圾桶

图像处理使用阿里SDK-只支持Python和Java接口,目的是引入C语言的Python调用。

2024-02-20 10:07:07 260

原创 交叉编译wiringOP库

*3. 修改devLib/Makefile、gpio/Makefile、wiringPiD/Makefile 、wiringPi/Makefile **这时候,就会wiringOP-master下生成_INSTALL目录,里面有完整编译出来的库文件和头文件。后面我们就可以把_INSTALL里的内容拷贝到香橙派的根目录下,然后执行。就可以使用该库了,可以使用。测试库是否链接正常。

2024-02-20 10:03:38 218

原创 Makefile的入门

Makefile中的变量赋值运算符有四种,分别是=、:=、?=和+=, $符号表示取变量的值,当变量名多于一= 表示延迟展开赋值即变量的值是在使用时才确定,可能会受到后面的赋值影响。例如,VAR_A = A,VAR_B = $(VAR_A) B,VAR_A = AA,那么最后VAR_B的值是AA B,而不是A B。:= 表示直接赋值,即变量的值是在定义时就确定,不会受到后面的赋值影响。例如,VAR_A := A,

2024-02-20 10:02:31 598

原创 POSIX消息队列

c.sigev_value: sigev_notify=SIGEV_SIGEV_THREAD时使用,作为sigev_notify_function的参数, 当发送。b. sigev_signo: 在sigev_notify=SIGEV_SIGNAL时使用,指定信号类别, 例如SIGUSR1、SIGUSR2 等。SIGEV_THREAD:事件发生时,内核会(在此进程内)以sigev_notify_attributes为线程属性创建一。当sigev_notify被设置为这个值时,即使事件发生了,

2024-02-20 10:00:56 306

原创 QT—网络调试助手客户端

【代码】QT—网络调试助手客户端。

2024-02-12 13:59:39 191

原创 QT—网络调试助手服务端

【代码】QT—网络调试助手服务端。

2024-02-12 13:59:07 251

原创 QT—串口调试助手

检测并列举系统中的可用串口配置波特率,校验位,停止位,数据位多文本发送启动串口发送数据接收数据。

2024-02-09 04:49:51 698

原创 QT-事件

每一个Qt应用程序都对应一个唯一的 QApplication 应用程序对象,然后调用这个对象的 exec() 函数,这样Qt框架内部的事件检测就开始了( 程序将进入事件循环来监听应用程序的事件 )。所以在Qt框架内部为我们提供了一些列的事件处理机制,当窗口事件产生之后,事件会经过: 事件派发 -> 事件过滤->事件分发->事件处理 几个阶段。Qt窗口中对于产生的一系列事件都有默认的处理动作,如果我们有特殊需求就需要在合适的阶段重写事件的处理动作,例如,如果你想在父窗口中过滤子窗口的事件,

2024-02-04 21:28:27 1029

原创 QT—消息对话框 QMessageBox

在这个例子中,我们创建了一个 QMessageBox 对象,并设置了窗口标题、主要文本、附加信息文本和图标。还添加了两个按钮(OK 和 Cancel),并设置了默认按钮。由于 QMessageBox 是为标准对话框设计的,其定制能力有限,但你可以通过添加自定义按钮来实现一定程度的定制。QMessageBox 是 Qt 框架中用于显示消息框的一个类,它常用于向用户显示信息、询问问题或者报告错。:询问用户一个问题,并根据其回答做出相应的操作。:向用户显示一些信息性的消息。据用户的选择执行不同的操作。

2024-02-04 21:18:22 266

原创 QT—记事本项目

QComboBox 提供了一系列方法来添加、删除和修改列表中的项,支持通过索引或文本检索项,并可以通过信号和槽机制来响应用户的选择变化。获取用户在QComboBox上选择的字符编码,用特定编码打开文件,这里注意QComboBox返回QString类型,使用QTextEdit的cursorPositionChanged信号,当光标发生移动时候刷新显示。它允许用户从一组选项中选择一个选项,并可以配置为可编辑,使用户能够在其中输入文本。判断当下是否有已经打开的文件,如果有打开的文件。文件是否打开,打开就关闭;

2024-02-04 21:14:09 1136

原创 C++—模板

在 C++ 中,模板(Template)是一种通用的编程工具,允许程序员编写,使得而不需要重复编写相似的代码。C++ 提供了两种主要类型的模板:类模板和函数模板。

2024-02-04 20:41:51 148

原创 C++——输入输出

C++ 中的输入和输出(I/O)主要是通过标准库中的输入输出流来实现的。最常用的是 iostream 库,它提供了用于输入和输出的基本流类,包括 cin 、 cout 、 cerr 和 clog。

2024-02-04 04:19:40 305

原创 QT—文件操作类QFile

QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文件。: QFile 在操作文件时提供了错误处理机制,可以通过相应的函数检查和获取错误信息。QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。:提供了对文件进行重命名、移动、删除等操作的能力。: QFile 支持打开文件进行读取或写入操作。:可以检索有关文件的信息,如大小、修改日期等。

2024-02-04 02:13:09 230

原创 QT—文件选择对话框 QFileDialog

Qt 也允许使用静态方法直接创建和显示对话框,例如QFileDialog::getOpenFileName() ,这些方法更简单,但提供的自定义选项较少。通过 selectedFiles 方法获取用户选择的文件路径列表,然后对这些文件进行相应的处理。:通过调用 exec() 方法显示对话框,并在用户作出选择后执行相应的操作。:如果需要,可以设置文件类型过滤器,以限制用户可以选择的文件类型。:首先,创建一个 QFileDialog 对象的实例。:根据需要设置对话框的模式,如打开文件、保存文件等。

2024-02-02 23:36:21 532

原创 QT—信号与槽

在Qt中,自定义信号与槽是实现对象间通信的一种机制。信号和槽是Qt对象通信的核心特性,使得一个对象能够在发生某种事件时通知其他对象。定义信号:在Qt中,信号是由 signals 关键字声明的类成员函数。它们不需要实现,只需声明。例如:Q_OBJECTpublic:MyClass();signals:在上面的例子中, MyClass 有一个名为 mySignal 的信号,它带有一个整型参数。定义槽:槽可以是任何普通的成员函数,但通常在类定义中用 slots 关键字标识。

2024-02-02 23:35:27 897

原创 C++——输入输出

C++ 中的输入和输出(I/O)主要是通过标准库中的输入输出流来实现的。最常用的是 iostream 库,它提供了用于输入和输出的基本流类,包括 cin 、 cout 、 cerr 和 clog。

2024-02-02 22:38:46 347

原创 C++——构造函数

类的是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造,那构造的是什么呢?构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。

2024-02-02 22:37:47 392

原创 C++——权限对继承的影响

在C++中,访问控制符对继承的影响可以通过下表来清晰地展示。这个表格展示了不同类型的继承( public 、 protected 、 private )如何影响基类的不同类型成员( public 、 protected 、private )在派生类中的访问级别。这个表格提供了一个快速参考,帮助理解在不同类型的继承中基类成员的访问级别是如何变化的。记住,无论继承类型如何,基类的 private 成员始终不可直接在派生类中访问。bike.type = “死飞”;

2024-02-02 12:23:31 334

原创 C++——权限

C++中的访问权限主要分为三种: public 、 private 和 protected。这些权限决定了类成员(包括数据成员和成员函数)的可访问性。以下是一个总结表格,说明了在不同情况下这些权限如何应用:使用权限(如 public 、 private 和 protected )在C++中是一种关键的封装手段,它们旨在控制对类成员的访问。

2024-02-02 12:22:42 450

原创 C++——命名空间

C和C++之间的关系是紧密且复杂的。C++最初是作为C语言的一个扩展开发的,目的是在不放弃C的强大功能和效率的同时,增加对象导向编程、泛型编程和其他一些特性。下面是C和C++之间主要的关系和区管可能需要一些小的修改。言,不支持这些概念,或者说支持的不好,麻烦。:C++支持模板,这是一种允许程序员编写与数据类型无关的代码的功能。C没有这个功能。:C++有一个更丰富的标准库,包括STL(标准模板库),这为数据结构和算法提供了广泛的支持。而C的标准库相对较小。C++中可能无法编译。

2024-02-02 12:21:54 546

原创 C++——流程控制

在 C++ 中,流程控制语句用于根据不同条件控制程序的执行流程。它们是编程中的基本构建块,允许程序根据条件执行不同的代码段,重复执行某些操作,或者根据特定情况跳过某些代码段。

2024-02-02 12:21:24 195

原创 C++——类

C++ 中的类(class)是一种编程结构,用于创建对象。这些对象可以拥有属性(即数据成员)和行为(即成员函数或方法)。类的概念是面向对象编程的核心之一,其主要目的是将封装在一起。例如,如果你有一个“汽车”类,它可能包含颜色、品牌、型号等属性(数据成员),以及启动、停止、加速等行为(成员函数)。每当你基于这个类创建一个对象时,你就有了一个具体的汽车,具有这些属性和行为。:定义类的属性。这些是类内部的变量,用于存储对象的状态。:定义类的行为。这些是可以操作对象的数据成员的函数。:特殊的成员函数。

2024-02-02 12:20:50 823

原创 C++——静态成员

静态成员在C++类中是一个重要的概念,它包括静态成员变量和静态成员函数。静态成员的特点和存在的例,静态成员变量只有一份拷贝。:静态成员变量需要在类外进行初始化,通常在类的实现文件中。:静态成员变量可以通过类名直接访问,不需要创建类的对象。也可以通过类的对象访问。:常用于存储类级别的信息(例如,计数类的实例数量)或全局数据需要被类的所有实例共享。非静态成员函数。:类似于静态成员变量,静态成员函数可以通过类名直接调用,也可以通过类的实例调用。:常用于实现与具体对象无关的功能,或访问静态成员变量。

2024-02-02 12:20:04 293

原创 C++——接口

C++——接口基本概念在 C++ 中,虽然没有像其他编程语言(比如 Java 中的接口Interface)一样直接定义接口的关键字,但可以通过抽象类和纯虚函数的方式来实现接口的概念。接口通常用于定义类应该实现的方法,但不提供具体实现。这样的实现方式允许多个类共享相同的接口,同时让每个类根据需要去实现这些接口。一个类作为接口可以通过以下步骤来实现:定义抽象类:创建一个包含纯虚函数的抽象类,这些函数构成了接口的一部分。这些函数在抽象类中只有声明而没有具体的实现。派生类实现接口:派生类继承抽

2024-02-02 12:19:34 570

原创 C++——阶段练习(简易计算器)

【代码】C++——阶段练习(简易计算器)

2024-02-02 12:18:29 113

原创 C++——继承

继承是面向对象编程(OOP)中的一个核心概念,特别是在C++中。它允许一个类(称为派生类或子类)继承另一个类(称为基类或父类)的属性和方法。继承的主要目的是实现代码重用,以及建立一种类型之间的层次关系。:子类继承了父类的属性和方法,减少了代码的重复编写。:子类可以扩展父类的功能,添加新的属性和方法,或者重写(覆盖)现有的方法。:通过继承和虚函数,C++支持多态,允许在运行时决定调用哪个函数。

2024-02-02 12:17:54 229

原创 C++——基类构造函数

当创建派生类的对象时,基类的构造函数总是在派生类的构造函数之前被调用。如果没有明确指定,将调用基类的默认构造函数。如果基类没有默认构造函数,或者你需要调用一个特定的基类构造函数,当 Derived 类的对象被创建时,首先调用 Base 类的构造函数,然后调用 Derived 类的构造函数。在C++中,派生类可以通过其构造函数的初始化列表来调用基类的构造函数。Derived 类继承自 Base ,它的构造函数接受一个整数和一个双精度浮点数。它调用 Base 类的构造函数,并传递整数参数。

2024-02-02 12:16:32 420

原创 C++——函数与内联函数

内联函数的定义(而非仅仅是声明)必须对每个使用它的文件都可见,通常意味着将内联函数定义在头文件中。

2024-02-02 12:16:15 382

原创 C++——多重继承

在C++中,多重继承是一种允许一个类同时继承多个基类的特性。这意味着派生类可以继承多个基类的属性和方法。多重继承增加了语言的灵活性,但同时也引入了额外的复杂性,特别是当多个基类具有相同的成员时。

2024-02-01 23:52:23 158

原创 C++——多态

想象一下,你有一个遥控器(这就像是一个基类的指针),这个遥控器可以控制不同的电子设备(这些设备就像是派生类)。无论是电视、音响还是灯光,遥控器上的“开/关”按钮(这个按钮就像是一个虚函数)都能控制它们,但具体的操作(打开电视、播放音乐、开灯)则取决于你指向的设备。

2024-02-01 23:50:00 340

原创 C++——抽象类

这个概念告诉你所有交通工具都应该能做什么,比如移动(move),但它并不具体说明怎么移动。对于不同的交通工具,比如汽车和自行车,它们的移动方式是不同的。在这个意义上,“交通工具”是一个抽象的概念,因为它本身并不能直接被使用。你需要一个具体的交通工具,比如“汽车”或“自行车”,它们根据“交通工具”的概念具体实现了移动的功能。这意味着,抽象类定义了派生类应该具有的功能,但不完全实现这些功能。抽象类的主要目的是为派生类提供一个共同的基础结构,确保所有派生类都有一致的接口和行为。何地方,你需要一个具体的交通工具。

2024-02-01 23:48:37 329

原创 C++——this关键字

在 C++ 中, this 关键字是一个。它在成员函数内部使用,用于引用调用该函数的对象。使用 this 可以明确指出成员函数正在操作的是哪个对象的数据成员。

2024-02-01 23:48:19 197

原创 C++——new关键字

在C++中, new 关键字用于动态分配内存。它是C++中处理动态内存分配的主要工具之一,允许在程序运行时根据需要分配内存。

2024-02-01 23:45:42 546

原创 C++——Lambda表达式

Lambda 表达式是 C++11 引入的一种的方式,它允许你在需要函数的地方内联地定义函数,而无需单独命名函数:用于捕获外部变量,在 Lambda 表达式中可以访问这些变量。捕获列表可以为空,也可以包含变量列表 [var1, var2, …]。:与普通函数的参数列表类似,可以为空或包含参数列表 (param1,param2, …)。:Lambda 表达式可以自动推断返回类型auto,也可以显式指定返回类型 -> return_type。如果函数体只有一条返回语句,可以省略返回类型。

2024-02-01 23:44:47 894

原创 C++——字符串string

在 C++ 中, string 类是标准库的一部分,用于表示和操作字符串。字符 ‘\0’ 结尾的字符数组)的一个更安全、更方便的封装。: string 类提供了各种操作字符串的方法,如 append() (添加)、 insert():由于 string 管理其自己的内存,因此减少了内存泄漏和缓冲区溢出的风险。(插入)、 erase() (删除)、 substr() (获取子字符串)等。C语言中对字符串的表示通常用指针,新手会面临内存泄漏或者段错误等众多问题。的,并且位于 std 命名空间中。

2024-02-01 23:43:52 214

原创 C++——重载

不能重载两个基本类型的运算符。

2024-02-01 23:43:22 378

空空如也

空空如也

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

TA关注的人

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