当前位置: 首页 > news >正文

cron定时任务

cron定时任务

一、Cron表达式的定义

基础结构

Cron表达式是由空格分隔的6或7个字段组成的字符串,格式为:

秒 分 时 日 月 星期 [年]

其中,年通常可以被省略

字段说明

  1. (0-59)

    秒字段表示每分钟的哪一秒执行任务。取值范围为0-59。

    例如,如果要每分钟的第30秒执行任务,可以使用30 * * * * ?的格式。

  2. (0-59)

    分字段表示每小时的哪一分钟执行任务。取值范围为0-59。

    例如,如果要每小时的第15分钟执行任务,可以使用* 15 * * * ?的格式。

  3. (0-23)

    时字段表示每天的哪一个小时执行任务。取值范围为0-23。

    例如,如果要每天的凌晨2点执行任务,可以使用* * 2 * * ?的格式。

  4. (1-31)

    日字段表示每月的哪一天执行任务。取值范围为1-31。

    例如,如果要每月的第一天执行任务,可以使用* * * 1 * ?的格式。

  5. (1-12或JAN-DEC)

    月字段表示每年的哪一个月执行任务。取值范围为 1-12 或用字符串 JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC 表示。

    例如,如果要每年的1月1日执行任务,可以使用* * * 1 1 ?的格式。

  6. 星期(0-6或SUN-SAT,0/7为周日)

    周字段表示每周的哪一天执行任务。取值范围为0-6,也可以用字符串 SUN, MON, TUE, WED, THU, FRI, SAT 表示,其中0表示周日,1表示周一,以此类推。例如,如果要每周的周五执行任务,可以使用* * * * * 5 ?的格式。

二、特殊字符

字符含义示例
*表示所有取值范围内的值,可解读为 “每* * * * * * 每秒执行
?不指定值(仅用于日和星期冲突时)0 0 5 * ? 每天5点
-范围0 9-17 * * * 9点到17点每小时
/步长*/5 * * * * 每5分钟
,枚举0 0 8,12,18 * * 每天8/12/18点
L最后一天0 0 L * * 每月最后一天
W最近工作日0 0 15W * * 15日最近的工作日
#用于指定某个月份的第几个周几,只能作用于 “周” 上0 0 * * 5#2 每月第2个周五

以下是Cron表达式中特殊字符的详细解析(基于2025年最新实践):

1、核心特殊字符

  1. *(通配符)

    • 匹配该字段所有有效值
    • 示例:0 * * * * ? 每分钟的0秒触发
  2. ?(不指定)

    • 仅用于星期字段,解决两者冲突
    • 示例:0 0 12 1 * ? 每月1日中午执行(忽略星期)
  3. /(步长)

    • 表示时间间隔增量
    • 示例:0/15 * * * * ? 每15秒触发

2、范围与枚举

  1. ,(枚举)

    • 指定多个离散值
    • 示例:0 0 8,12,18 * * ? 每天8/12/18点执行
  2. -(范围)

    • 定义连续时间段
    • 示例:0 0 9-17 * * MON-FRI 工作日9-17点每小时执行

3、高级逻辑字符

  1. L(最后一天)

    • 字段:L表示月末最后一天
    • 星期字段:L表示当月最后一个周日
    • 示例:0 0 12 L * ? 每月最后一天中午执行
  2. W(最近工作日)

    • 自动调整到最近的工作日(周一至周五)
    • 示例:0 0 12 15W * ? 每月15日最近的工作日执行
  3. #(第N个星期几)

    • 指定某月第N个特定星期
    • 示例:0 0 12 ? * 5#2 每月第二个周五中午执行

4、特殊组合

组合说明示例
LW当月最后一个工作日0 0 12 LW * ?
L-3月末倒数第3天0 0 12 L-3 * ?
5W5日最近的工作日0 0 12 5W * ?

三、预定义规则

1、核心预定义规则

  1. 基础周期规则

    • @yearly@annually
      每年1月1日 00:00 执行(等效于0 0 1 1 *
    • @monthly
      每月1日 00:00 执行(等效于0 0 1 * *
    • @weekly
      每周日 00:00 执行(等效于0 0 * * 0
    • @daily@midnight
      每天 00:00 执行(等效于0 0 * * *
    • @hourly
      每小时整点执行(等效于0 * * * *
  2. 自定义间隔规则

    • @every <duration>
      支持任意时间间隔(需符合time.ParseDuration格式)
      示例:
      @every 1h30m10s  // 每1小时30分钟10秒
      @every 5m        // 每5分钟
      @every 10s       // 每10秒
      

2、特殊说明

  1. 执行逻辑差异

    • @every的间隔从任务开始运行时计算(非自然时间对齐)
      例如:@every 1h若任务耗时3分钟,则下次执行在57分钟后
  2. 时区处理
    预定义规则默认使用本地时区,可通过以下方式修改:

    // 方法1:全局设置时区
    loc, _ := time.LoadLocation("Asia/Shanghai")
    c := cron.New(cron.WithLocation(loc))// 方法2:单任务指定时区
    c.AddFunc("CRON_TZ=Asia/Tokyo @daily", task)
    

3、使用示例

package main
import ("fmt""github.com/robfig/cron/v3"
)
func main() {c := cron.New()// 添加预定义规则任务c.AddFunc("@hourly", func() { fmt.Println("每小时执行") })c.AddFunc("@every 30m", func() { fmt.Println("每30分钟执行") })c.Start()defer c.Stop()select{}
}

相关文章:

cron定时任务

cron定时任务 一、Cron表达式的定义 基础结构 Cron表达式是由空格分隔的6或7个字段组成的字符串&#xff0c;格式为&#xff1a; 秒 分 时 日 月 星期 [年]其中&#xff0c;年通常可以被省略 字段说明&#xff1a; 秒&#xff08;0-59&#xff09; 秒字段表示每分钟的哪一…...

1.4 大模型应用产品与技术架构

目录 一&#xff0c;产品架构 1.1 AI Embedded产品架构 1.2 AI Copilot产品架构 1.3 AI Agent产品架构 二&#xff0c;技术架构 2.1 纯Prompt 2.2 Agent Function Calling 2.3 RAG &#xff08;Retrieval-Augmented Generation 检索增强生成&#xff09; 2.4 Fine-tu…...

Android HAL HIDL

1 Android HAL HIDL 1.1 Android中查看有哪些HIDL HAL HIDL是Treble Interface的一部分。 adb root adb shell # lshal 1.2 Android打印C调用栈 #include <utils/CallStack.h> 在需要打印的地方加如下的定义。 android::CallStack stack("oem"); logcat | g…...

std::mutex底层实现原理

std::mutex是一个用于实现互斥访问的类&#xff0c;其具备两个成员函数——lock和unlock 锁的底层实现原理 锁的底层实现是基于原子操作的&#xff0c;这些原子操作是由指令支持的&#xff0c;因为单个指令是不能被中断的 一些与锁的实现有关的原子指令为&#xff1a; 待补充…...

性能提升手段--池化技术

看到hadoop代码里有ByteBufferPool,使用池子来避免频繁创建、销毁ByteBuffer,减轻GC压力,提高性能。 顺便总结一下池化技术 一、什么是池化技术?​​ ​​池化(Pooling)​​ 是一种资源管理策略,通过​​预先创建并复用资源​​(如数据库连接、线程、内存对象等)来提…...

精益数据分析(28/126):解读商业模式拼图与关键指标

精益数据分析&#xff08;28/126&#xff09;&#xff1a;解读商业模式拼图与关键指标 在创业和数据分析的探索旅程中&#xff0c;每一次深入研究都可能带来新的启发和突破。今天&#xff0c;我们依旧带着共同进步的初心&#xff0c;深入解读《精益数据分析》中关于商业模式的…...

QT6 源(52)篇二:存储 c 语言字符串的类 QByteArray 的使用举例,

&#xff08;3&#xff09; &#xff08;4&#xff09; 谢谢...

工业摄像头通过USB接口实现图像

工业摄像头系列概览&#xff1a;类型与应用 工业摄像头系列涵盖了多种类型&#xff0c;以满足不同行业和应用的需求。以下是对工业摄像头系列的一些介绍&#xff1a; 一、主要类型与特点 USB工业摄像头 &#xff1a;这类摄像头通常通过USB接口与计算机连接&#xff0c;适用于…...

【BBDM】main.py -- notes

命令行接口 python main.py [OPTIONS]参数 参数类型默认值说明-c, --configstr"BBDM_base.yml"配置文件路径-s, --seedint1234随机种子&#xff0c;用于结果复现-r, --result_pathstr"results"结果保存目录-t, --trainflagFalse训练模式开关&#xff1a;…...

X86物理机安装iStoreOS软路由

目录 安装前准备 制作启动盘 安装系统到硬盘 启动与初始配置 常见问题与注意事项 参考资料 安装前准备 硬件设备 X86物理机&#xff08;如普通电脑、J4125/N5105等小主机&#xff09; U盘&#xff08;建议容量≥2GB&#xff09; 显示器、键盘&#xff08;用于初始配置…...

QML Date:日期处理示例

目录 引言相关阅读QML Date对象知识概要格式化选项 DateExamples示例解析代码解析示例1&#xff1a;日期格式化示例2&#xff1a;不同地区的日期显示示例3&#xff1a;日期解析示例4&#xff1a;自定义格式示例5&#xff1a;日期与时间戳转换 运行效果总结下载链接 引言 在Qt …...

python 与Redis操作整理

以下是使用 Python 操作 Redis 的完整整理&#xff0c;涵盖基础操作、高级功能及最佳实践&#xff1a; 1. 安装与连接 (1) 安装库 pip install redis(2) 基础连接 import redis# 创建连接池&#xff08;推荐复用连接&#xff09; pool redis.ConnectionPool(hostlocalhost, …...

【Linux】环境监控系统软件框架

目录 tasks.h type.h main.c tasks.c makefile 运行结果 调用多线程框架&#xff0c;在主函数写好环境监控文件的函数&#xff0c;使用结构体封装环境指标的参数 最后使用makefile管理工程文件 tasks.h #include<pthread.h>#ifndef __TASK_H__ #define __TASK_H_…...

WPF实现数字孪生示例

WPF 数字孪生系统实现示例 数字孪生(Digital Twin)是通过数字化手段在虚拟空间中构建物理实体的精确数字模型,并实现虚实映射、实时交互和智能决策的技术。本文将展示如何使用WPF实现一个基础的数字孪生系统示例。 一、系统架构设计 1. 整体架构 +-------------------+ | …...

对卡尔曼滤波的理解和简单示例实现

目录 一、概述 二、基本公式解释 1&#xff09;状态转移方程 2&#xff09;状态更新方程 3&#xff09;卡尔曼系数更新方程 4&#xff09;误差协方差估计方程 三、一个简单示例 一、概述 经典卡尔曼滤波算法在线性系统中运用非常广泛&#xff0c;可以对数据实现很好的平…...

Linux基础命令总结

Linux系统命令 1. systemctl 1. 基本语法 systemctl start | stop | restart | status 服务名 2. 经验技巧查看服务的方法:/usr/lib/systemd/system 3. 案例实操 (1)查看防火墙服务的状态 systemctl status firewalld (2)停止防火墙服务 systemctl stop firewalld (…...

视觉大模型专栏导航

关于视觉大模型专栏&#xff0c;暂时还没有比较明确的更新计划&#xff0c;最近会在本专栏上更新关于Sam模型的基本原理&#xff0c;包括Image Encoder、Prompt Encoder及Mask Decoder等模块的实现&#xff1b;还有记录下如何利用Sam代码跑通一个demo。 后期接触了其他视觉大模…...

Eigen的主要类及其功能

Eigen 是一个高性能的 C 模板库&#xff0c;主要用于线性代数、矩阵和向量运算。它提供了许多类来支持各种数学运算&#xff0c;以下是 Eigen 的主要类及其功能分类。 1. 核心矩阵和向量类 这些是 Eigen 中最常用的类&#xff0c;用于表示矩阵和向量&#xff1a; Matrix - 通用…...

深入理解TransmittableThreadLocal:原理、使用与避坑指南

一、ThreadLocal与InheritableThreadLocal回顾 在介绍TransmittableThreadLocal之前&#xff0c;我们先回顾一下Java中的ThreadLocal和InheritableThreadLocal。 1. ThreadLocal ThreadLocal提供了线程局部变量&#xff0c;每个线程都可以通过get/set访问自己独立的变量副本…...

大模型奖励建模新突破!Inference-Time Scaling for Generalist Reward Modeling

传统的RM在通用领域面临准确性和灵活性挑战&#xff0c;而DeepSeek-GRM通过动态生成principle和critic&#xff0c;结合并行采样与meta RM引导的投票机制&#xff0c;实现了更高质量的奖励信号生成。论文通过Self-Principled Critique Tuning (SPCT)方法&#xff0c;显著提升了…...

C++:string 1

练习题&#xff1a; 这个题的思路是从前往后&#xff0c;从后往前同时找&#xff0c;不是字母的话就继续&#xff0c;是的话就交换。 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <string> using namespace std; //1、4个…...

C语言学习之调试

在C语言的编程学习中&#xff0c;我们能不可避免的要遇到bug。通常我们面对编译错误等问题是很容易发现的&#xff0c;但是当我们面对代码结果不满足预期等情况下是很难去改的&#xff0c;因此我们就要学习如何调试代码。 bug与调试 什么是bug&#xff1f; bug本意是“昆虫”和…...

【project】--模拟搭建一个中小型校园网的网络平台

文章目录 项目介绍设备及IP地址分配node01配置网卡配置DHCP配置路由转发 node02配置网卡配置安装并配置授权 Unbound DNS node03配置网卡配置安装防火墙SNAT配置DNAT配置(端口转发)纯缓存 Unbound DNS 配置 node04配置node05配置node06配置 项目介绍 本项目通过1台物理机和VMw…...

DeepSeek 的长上下文扩展机制

DeepSeek 在基础预训练完成后,引入 YaRN(Yet another RoPE extensioN method)技术,通过额外的训练阶段将模型的上下文窗口从默认的 4K 逐步扩展至 128K。整个过程分为两个阶段:第一阶段将上下文窗口从 4K 扩展到 32K;第二阶段则进一步从 32K 扩展到 128K。每个阶段均采用…...

AQS条件队列源码详细剖析

AQS条件队列源码详细剖析 0.简介 欢迎来到我的博客&#xff1a;TWind的博客 最好先看过我博客中的 ReentrantLock的超详细源码解析 &#xff0c;不然想要理解条件队列的源码会非常困难。 AQS中的条件队列相比同步队列略显简单&#xff0c;但依然优异且高效&#xff0c;复杂而…...

LeetCode --- 446 周赛

题目列表 3522. 执行指令后的得分 3523. 非递减数组的最大长度 3524. 求出数组的 X 值 I 3525. 求出数组的 X 值 II 一、执行指令后的得分 照着题目要求进行模拟即可&#xff0c;代码如下 // C class Solution { public:long long calculateScore(vector<string>&…...

ngrok 内网穿透技术系统性文档

ngrok 内网穿透技术系统性文档—目录 1. 概述与背景1.1 内网穿透的需求背景1.2 ngrok的核心定义1.3 定位与核心价值 2. 核心原理与技术架构2.1 技术架构图2.2 核心原理详解2.2.1 隧道建立流程2.2.2 多协议支持机制2.2.3 动态DNS与路由 3. 功能体系与配置详解3.1 基础功能3.1.1 …...

C++ 为什么建议类模板定义在头文件中,而不定义在源文件中

类模板 XXXX 模板的编译模式模板不是实际的代码&#xff0c;而是一个“代码生成模板” 分离定义会导致链接错误补充为什么普通类可以分离定义&#xff1f;对比C11的export关键字&#xff08;已弃用&#xff09; 模板的编译模式 C模板采用两阶段编译&#xff08;Two-Phase Tran…...

Android studio学习之路(八)---Fragment碎片化页面的使用

fragment的用法很常见&#xff0c;你可能经常看见这样的画面&#xff1a; 通过滑动来进行切换页面&#xff0c;今天我们就来实现这样的形式 介绍 使用 Fragment 的核心价值在于 ​​模块化设计​​ 和 ​​动态适配能力​​&#xff0c;尤其适合以下场景&#xff1a; 需要…...

数据结构和算法(九)--红黑树

一、红黑树 1、红黑树 前面介绍了2-3树&#xff0c;可以看到2-3树能保证在插入元素之后&#xff0c;树依然保持平衡状态&#xff0c;它的最坏情况下所有子结点都是2-结点&#xff0c;树的高度为IgN&#xff0c;相比于我们普通的二叉查找树&#xff0c;最坏情况下树的高度为N,确…...

字节跳动开源数字人模型latentsync1.5,性能、质量进一步优化~

项目背景 LatentSync1.5 是由 ByteDance 开发的一款先进的 AI 模型&#xff0c;专门针对视频唇同步&#xff08;lip synchronization&#xff09;任务设计&#xff0c;旨在实现音频与视频唇部动作的高质量、自然匹配。随着 AI 技术的快速发展&#xff0c;视频生成和编辑的需求…...

Pygame入门:零基础打造你的第一个游戏窗口

Pygame入门:零基础打造你的第一个游戏窗口 大家好,欢迎来到本期的技术分享!今天,我们将一起探索如何使用Python中的Pygame库来创建一个简单的游戏窗口。无论你是编程新手,还是对游戏开发感兴趣的朋友,这篇文章都将帮助你迈出第一步。让我们开始吧! 什么是Pygame? 在…...

《ATPL地面培训教材13:飞行原理》——第13章:高速飞行

翻译&#xff1a;刘远贺&#xff1b;工具&#xff1a;Cursor & Cluade 3.7&#xff1b;过程稿 第13章&#xff1a;高速飞行 目录 引言声速马赫数恒定指示空速爬升对马赫数的影响恒定马赫数下真空速随高度的变化恒定飞行高度和指示空速下温度对马赫数的影响气动流动的细分…...

【C语言练习】004. 使用各种运算符进行计算

【C语言练习】004. 使用各种运算符进行计算 004. 使用各种运算符进行计算1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 逗号运算符综合示例输出结果004. 使用各种运算符进行计算 在C语言中,运算符用于执行各种数学和逻辑运算。以下是一些常见的运算符…...

Pygame事件处理详解:键盘、鼠标与自定义事件

Pygame事件处理详解:键盘、鼠标与自定义事件 在游戏开发中,玩家的交互是至关重要的。无论是移动角色、触发动作还是暂停游戏,都需要通过各种输入来实现。Pygame作为一个功能强大的Python库,提供了丰富的API来处理这些输入,包括键盘、鼠标以及自定义事件。本文将详细介绍如…...

16. LangChain自主智能体(Autonomous Agent):模拟人类工作流的进阶设计

引言&#xff1a;当AI学会"思考"与"行动" 2025年某跨国律所的合同审查智能体&#xff0c;通过自主规划任务流&#xff0c;将平均处理时间从8小时缩短至23分钟。本文将基于LangChain的AgentExecutor与Deepseek-R1&#xff0c;揭示如何构建能自主决策、动态…...

直接映射例题及解析

目录 基本单位换算 例题一 &#x1f4c1; Tag Directory&#xff08;标签目录&#xff09; 是什么&#xff1f; 例题二 例题三 例题四 串行访问还是并行访问的选择 例题五 例题六 例题七 &#x1f535; P1&#xff1a;&#xff08;按行访问&#xff09; &#x1…...

MAVLink协议:原理、应用与实践

目录 1. 前言 2. MAVLink 协议的基本概念 2.1 协议概述 2.2 消息格式 2.3 协议版本 3. MAVLink 协议的适应场景 3.1 无人机地面站与飞行器通信 3.2 飞行器与传感器通信 3.3 无人机集群通信 3.4 飞行模拟与测试 4. 基于 Python 的 MAVLink 协议编程实践 4.1 开发环境…...

【记一次亚马逊普华永道审计流程】

1、2025年2月21日 收到审计邮件 2、2025年2月25日未及时关注注册开发者的邮箱导致一直未回复 3、2025年3月4日亚马逊警告邮件-依旧未回复 4、2025年3月13日APP正式被亚马逊开发者商店下架 停用影响: APP从官方商店下架&#xff0c;不能授权新店铺 停用原因: 由于此邮箱为注册…...

Java 异常处理全解析:从基础到自定义异常的实战指南

Java 异常处理全解析&#xff1a;从基础到自定义异常的实战指南 一、Java 异常体系&#xff1a;Error 与 Exception 的本质区别 1. 异常体系核心架构 Java把异常当作对象来处理&#xff0c;并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许…...

二、UI自动化测试02--元素定位方法

目录 一、定位⼀组元素⽅法二、XPath 定位⽅法1. 路径策略1.1 路径值获取⽅法 2. 利⽤元素属性策略利⽤元素属性策略的注意事项 3. 属性和逻辑结合4. 层级和属性结合策略5. XPath 延伸⽅法 三、CSS 定位⽅法1. CSS 策略: id选择器/class选择器/元素选择器/属性选择器2. 属性选择…...

第二章 信息技术发展(2.1 信息技术及其发展)

2.1 信息技术及其发展 2.1.1 计算机软硬件 计算机硬件 (Computer Hardware) 是指计算机系统中由电 、机械和光电元件等组成 的各 种物理装置的总称计算机软件 (Computer Software) 是指计算机系统中的程序及其文档,程序是计 算任务的处理对象和处理规则的描述;文档是为了便千…...

【SwitchyOmega安装教程】

目录 一、插件安装 1. 下载安装文件 2. 打开浏览器扩展安装页面 3. 安装插件 二、界面详情 三、配置信息 3.1 设置IP 1、查看IP地址信息 2、批量测试IP是否有效 3、点击扩展程序&#xff0c;选择 Proxy SwitchyOmega 4、 点击选项进行配置 5、配置页面 一、插件安装 1…...

驱动开发硬核特训 · Day 21(上篇加强版):深入理解子系统机制与实战初探

&#x1f4c5; 日期&#xff1a;2025-04-27 &#x1f4da; 技术平台&#xff1a;嵌入式Jerry&#xff08;B站&#xff09; 1. 为什么要有子系统&#xff1f;&#xff08;深度版&#xff09; 在 Linux 内核发展早期&#xff0c;设备管理较为混乱&#xff0c;每种设备&#xff0…...

GoFly快速开发框架新增UI素材库-帮助开发者快速开发管理后台UI基于ArcoDesign框架开发

说明&#xff1a; 为开发者提供管理台的UI素材&#xff0c;社区将持续为开发开发后台系统常用UI界面&#xff0c;让开发时能有一半的界面可以直接从UI库获取&#xff0c;减少开发者自己排版界面的时间&#xff0c;帮助开发者快速开发后台业务。 使用的前端版本要求&#xff1…...

Unity-Shader详解-其二

前向渲染和延迟渲染 前向渲染和延迟渲染总的来说是我们的两种主要的渲染方式。 我们在Unity的Project Settings中的Graphic界面能够找到渲染队列的设定&#xff1a; 我们也可以在Main Camera这里进行设置&#xff1a; 那这里我们首先介绍一下两种渲染&#xff08;Forward R…...

Windows 安装 Neo4j 教程

Windows 安装 Neo4j 教程 Neo4j 是一个开源的图数据库&#xff0c;它以图形结构存储数据&#xff0c;适合用于处理高度连接的数据&#xff0c;广泛应用于社交网络、推荐系统、欺诈检测等场景。本文将为你介绍如何在 Windows 系统上安装和配置 Neo4j 数据库。 一、安装前准备 …...

Neo4j 常用查询语句

Neo4j 常用查询语句 Neo4j 是一个图数据库&#xff0c;查询语言是 Cypher&#xff0c;它类似于 SQL 但针对图形数据进行了优化。Cypher 语法直观易懂&#xff0c;适合用来处理图数据。本文将介绍一些 Neo4j 中常用的查询语句&#xff0c;帮助你快速掌握图数据的操作方法。 一…...

机器学习(10)——神经网络

文章目录 1. 神经网络基本原理1.1. 什么是神经网络1.2. 核心思想 2. 基础组件3. 前向传播&#xff08;Forward Propagation&#xff09;4. 反向传播&#xff08;Backpropagation&#xff09;5. 激活函数对比6. 网络架构类型7. 优化策略8. Python示例&#xff08;PyTorch&#x…...

Qt软件开发-摄像头检测使用软件V1.1

系列文章目录 Qt软件开发-摄像头检测使用软件V1.1 文章目录 系列文章目录前言一、V1.1增加了哪些功能&#xff1f;二、代码构成1.总体结构2. 代码内容 三、效果展示图总结 前言 之前&#xff0c;在Qt软件开发-摄像头检测使用软件&#xff1a;https://blog.csdn.net/xuming204…...