【从零开始学习QT】Qt 概述
目录
一、什么是 Qt
1.1 简介
1.2 Qt 的发展史
1.3 Qt 支持的平台
1.5 Qt 的优点
1.6 Qt 的应用场景
二、搭建 Qt 开发环境
2.1 Qt SDK 的下载
2.2 Qt SDK 的安装
2.3 验证 Qt SDK 安装是否成功
2.4 Qt 环境变量配置
三、认识 Qt Creator
3.1 Qt Creator 概览
3.2 使用 Qt Creator 新建项目
3.2.1 新建项目
编辑
3.2.2 选择项目模板
3.2.3 选择项目路径
3.2.4 选择构建系统
3.2.5 填写类信息设置界面
3.2.6 选择语言和翻译文件
3.2.7 选择 Qt 套件
3.2.8 选择版本控制系统
3.2.9 最终效果
3.3 认识 Qt Creator 界面
3.3.1 左边栏
3.3.2 代码编辑区
3.3.3 UI设计界面
3.3.4 构建区
四、Qt Hello World 程序
4.1 简单实现
4.1.1 可视化操作实现
4.1.2 纯代码方式实现
4.2 使用输入框实现
4.3 使用 "按钮" 实现
一、什么是 Qt
1.1 简介
Qt 是一个 跨平台的 C++ 图形用户界面应用程序框架 。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt 为开发者提供了一种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发
图形用户界面 :指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。如下分别是:Android 手机图形用户界面 和 IOS 手机图形用户界面。
1.2 Qt 的发展史
1991 年 Qt 最早由奇趣科技开发;
1996 年 进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;
2008 年 奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程工具;
2012 年 Qt 又被 Digia 公司收购;
2014 年 4 月 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,至此 Qt 实现了对 IOS、Android、Embedded 等各平台的全面支持。
1.3 Qt 支持的平台
• Windows – XP、Vista、Win7、Win8、Win2008、Win10
• Unix/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台
• Macintosh – Mac OS X
• Embedded – 有帧缓冲支持的嵌入式 Linux 平台,Windows CE
• Android
1.5 Qt 的优点
• 跨平台,几乎支持所有的平台;
• 接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
• 一定程度上简化了内存回收机制;
• 开发效率高,能够快速的构建应用程序。
• 有很好的社区氛围,市场份额在缓慢上升。
• 可以进行嵌入式开发。
1.6 Qt 的应用场景
• 桌面应用程序
Qt 能够创建各种类型的桌面应用程序,包括文件管理器、媒体播放器、绘图程序等。Qt 应用程序支持多种操作系统,可以运行在 Windows、Linux、macOS 等桌面操作系统上。
• 移动应用程序
Qt 支持 Android 和 IOS 移动操作系统,为应用程序提供了强大的跨平台能力。可以使用 Qt 构建各种移动应用程序,例如社交应用、游戏、娱乐等。
• 嵌入式系统
Qt 在嵌入式领域应用非常广泛,它可以构建面向各种设备的图形应用程序,在机顶盒、车载娱乐系统、安防监控设备等领域具有广泛的应用。
二、搭建 Qt 开发环境
2.1 Qt SDK 的下载
Qt 下载官网:http://download.qt.io/archive/qt/ (下载的时候可能需要外挂)
1、打开官网链接,进入如下图示界面;
2、选择需要下载的版本;(本人所用为5.14版本,根据自己需求下载即可)
2.2 Qt SDK 的安装
1、找到下载的文件并双击;注意:在双击之前先断网,否则需要我们注册 Qt 账号登录后才能进入下一步安装;
2、双击之后进入如下界面:
3、选择安装路径时不能出现中文路径,否则即使安装上也无法使用;
4、选择安装组件;(如果空间足够也可以全选)
2.3 验证 Qt SDK 安装是否成功
1、双击打开 Qt Creator 工具,并进入到 "欢迎模式" 下的 "示例" 界面;
2、在 "示例" 中任选其中一个,单击打开该示例。在单击之后会弹出一个窗口,关闭即可;
如果能构建并运行,说明安装无误。运行结果如下图
2.4 Qt 环境变量配置
1、找到Qt的安装路径,复制 "bin" 路径;
2、"此电脑" ------> 鼠标右键, "属性" ------> "高级系统设置" ------> "环境变量"
3、"新建" ------> 填入 "bin" 路径 ------> "确定" ;
注意:在关掉所有窗口时,一定要点击 "确定"
三、认识 Qt Creator
3.1 Qt Creator 概览
从 开始菜单 或者 快捷方式 打开 Qt Creator 集成开发环境,启动之后看到类似下面的界面:
①:菜单栏。菜单栏一共有 8 个菜单选项,包含了常用的功能菜单:
②:模式选择
③:构建套件选择器。构建套件选择器包含了目标选择器(Target selector)、运行按钮(Run)、调试按钮(Debug)和构建按钮(Building)四个图标。
④:欢迎模式下的窗口工作方式。
⑤:定位器。使用定位器来快速定位项目、文件、类、方法、帮助文档以及文件系统。可以使用过滤器来更加准确地定位要查找的结果。
⑥:输出窗格。输出窗格包含了问题、搜索结果(Search Results)、应用程序输出、编译输出、Debugger Console、概要信息、测试结果(Test Results)7个选项,它们分别对应一个输出窗口,响应的快捷键依次是 Alt+数字1~7。
⑦:会话记录;可以对会话进行管理,包括 Clone。如果没打开工程,则显示的是最后一次打开的
(会话)工程,否则,显示当前的会话(工程)。
⑧:新建项目;
⑨:打开已有项目;
3.2 使用 Qt Creator 新建项目
3.2.1 新建项目
打开 Qt Creator ,在菜单栏中选中: "文件" --------> "新建文件或项目" ;或者使用快捷键:Ctrl +
n;或者直接点击:"new";
在欢迎模式下,直接点击 New,如下图示
3.2.2 选择项目模板
新建项目对话框里有五类项目模板:
常用的只有第一类 Application,选择它,在右侧会看到 Qt 应用程序的五个子模板
• Qt Widgets Application:普通窗体模板,传统基于部件的窗体界面程序。
• Qt Console Application:Qt 控制台应用程序。因为 Qt 主要用于图形界面设计,这个控制台项目模板基本不用。
• Qt for Python:在Python下用 LGPL 的许可来开发闭源 Qt 软件。
• Qt Quick Application: Qt 提供的一种高级用户界面技术,使用它可以方便快速的为移动以及嵌入式设备开发流畅美观的用户界面。Qt Quick 模块是开发 QML 应用的标准库,提供了使用 QML 创建用户界面所需的一切,包括可视化、交互、动画、模型、视图、粒子效果以及着色效果等。
3.2.3 选择项目路径
3.2.4 选择构建系统
Qt 中的构建工具有三种可供选择,分别是:qmake、CMake、Qbs,下面依次介绍。
• qmake: qmake 是一个构建工具(build tool),用于自动生成 makefile 文件。qmake 支持跨平台构建。qmake 编辑的是一个后缀名为 .pro 的文件。
• CMake:CMake 是一个跨平台的构建工具。CMake 本身不是一个编译器,其实就是生成一个让编译器能读懂编译流程的文件工具。让 CMake 自动生成构建系统,例如 Makefile 和 Visual Studio项目文件。CMake 是一个第三方工具,有自己的文档。
• Qbs:Qbs(Qt Build Suite:Qt构建套件)同 qmake、CMake 一样都是构建工具。Qbs 号称是新一代的构建工具,比 qmake 编译速度更快。Qbs 没有绑定 Qt 版本,它从项目文件的高级项目描述中生成一个正确的依赖表。而传统的 MakeFile 生成工具如 qmake 和 CMake ,其在生成 MakeFile文件后将实际的命令交给 Make 工具去执行。
3.2.5 填写类信息设置界面
对于基类的选择,目前有三种基类:
3.2.6 选择语言和翻译文件
点击 "下一步" 进入如下界面:
此处选择的语言是 "汉语", "英语" 这样的语言. 而不是 "编程语言".
由于我们暂时不考虑国际化问题, 直接下一步即可.
3.2.7 选择 Qt 套件
默认只有第一个 "Desktop Qt 5.14.2 MinGW 64-bit",如果安装配置了多个 Qt 套件,就可以都选上。
Qt 套件是指 Qt 程序从编译链接到运行环境的全部工具和 Qt 类库的集合,对于 MinGW 版本 Qt 程序生成和调试,至少需要 MinGW 中的编译器 g++(自动调用链接器)、g++ 配套的基础库、调试器 gdb 还有使用 MinGW 环境编译而成的 Qt 类库自身。默认情况下,在上面 Kit Selection 里选中全部套件。
3.2.8 选择版本控制系统
点击 "下一步" 进入 项目管理界面;在项目管理界面可以设置作为子项目,以及加入版本控制系统管理。这两个功能暂时用不到,都用默认的 <None> ,然后点击 "完成" 。
如果想把代码提交到gitee或者 github, 可以在此处选择 git 作为版本控制系统.
3.2.9 最终效果
项目创建完成之后,Qt Creator 会直接进入代码编辑模式,可以看到类似下图界面:
3.3 认识 Qt Creator 界面
3.3.1 左边栏
在编辑模式下,左边竖排的两个窗口叫做 "边栏" 。① 是项目文件管理窗口,② 是打开文件列表窗口。在 QtCreator 菜单 "控件" -------> "Show Left Sidebar",或者使用快捷键:"Alt + 0" 可以控制边栏的显示和隐藏。
边栏里的窗口数目可以增加,边栏子窗口标题栏有一排小按钮,最右边的是关闭按钮,倒数第二个是增加分栏按钮,可以添加多个边栏子窗口
边栏子窗口标题栏第一个控件是组合框,可以选择该子窗口的功能视图类型,目前可以选择 8 个视图类型:
3.3.2 代码编辑区
①和②:导航按钮 "返回" 和 "前进",这与网页浏览器的前进和后退按钮类似,可以在之前浏览的多个代码文件或一个代码文件里多个位置之间快速切换。
③:标识当前显示的文件是只读还是可写,一般都是可写的。
④:文件类型图标,当前显示文件的类型,这个控件其实是一个菜单按钮,点击可以弹出丰富的文件处理功能菜单。
⑤:打开的文件名,可以在多个打开的文件之间选择切换,与边栏的 "打开文档" 视图是对应的。
⑥:关闭当前显示的文档。
⑦:为当前显示的文件添加额外的C++预处理指令,一般用不着。
⑧:选择符号,可以在当前显示的文件里多个函数、类、成员变量等之前快速切换,与边栏"大纲"视图是对应的。
⑨:编辑区光标的行号和列号。
⑩:代码编辑区分栏,可以增加多个编辑器窗口,显示多个打开的文档或显示较大源码文件的多个位置。
行首区:主要用来显示代码行号,以及调试断点标志和代码书签标志。右击行首区可以弹出右键菜
单,菜单里可以切换书签、编辑书签以及设置或取消断点。
同一行是既可以打断点也可以设置书签的,二者不冲突,其实它们根本就没关系。单击行号前面的浅灰色空白区可以直接打断点,再次单击可以取消断点,另外也可以用快捷键 F9 设置或取消断点。代码书签一般用右键菜单来设置,也可以用快捷键 Ctrl+M 设置或取消书签。
编辑区:写代码的区域。
3.3.3 UI设计界面
双击 widget.ui 文件,Qt Creator 会自动进入设计模式,可以对图形界面进行可视化编辑:
①:组件选择窗口。组件选择窗口分为多个组,如 Layouts、Buttons、Display Widgets 等,界面设计的常见组件都可以在组件选择窗口中找到。
②:UI 设计窗口。如果要将某个组件放置到该窗口上时,从组件选择窗口上拖放一个组件到窗体上即可。
③:动作编辑窗口。动作编辑窗口包括 Action Editor 以及 Signals 和 Slots 编辑器。 Action Editor 主要是用来新建 Action,并且通过拖拽的动作,将新建好的 Action 添加到菜单栏和工具栏上;Signals和 Slots 编辑器用于可视化地进行信号与槽的关联。
④:对象浏览窗口。用树状视图显示窗体上各组件之间的布局包含关系,视图有两列,显示每个组件的对象名称(ObjectName)和类名称。
⑤:属性设置窗口。显示某个选中的组件或窗体的各种属性及其取值,可以在属性设置窗口里修改这些属性的值。
3.3.4 构建区
左下角一共有四个按钮,下面分别介绍一下:
• 第一个按钮是选择构建项目使用的 Qt 套件和构建目标程序的类型(Debug 或 Release)。
对于第一个按钮,默认的是Debug,构建的是 Debug 类型的目标程序。如果需要构建 Release 版目标程序,点开左下角第一个按钮:
这里有三种构建模式:
四、Qt Hello World 程序
4.1 简单实现
4.1.1 可视化操作实现
1)双击:" widget.ui " 文件;
2)拖拽控件至 ui 界面窗口并修改内容;
3)构建并运行,效果如下所示:
4.1.2 纯代码方式实现
这里我们使用了new,却没有delete,会不会造成内存泄漏?答案是不会
label对象会在合适的时候被析构函数释放,主要是因为把这个对象是挂到了对象树上
对象树:本质上是一个属性结构(N叉树),通过树形结构把界面上的各种元素组织起来
如果你的对象没有挂到对象树上,就必须要记得手动释放!!
4.2 使用输入框实现
使用代码
4.3 使用 "按钮" 实现
通过代码
本篇完,下篇见!
相关文章:

【从零开始学习QT】Qt 概述
目录 一、什么是 Qt 1.1 简介 1.2 Qt 的发展史 1.3 Qt 支持的平台 1.5 Qt 的优点 1.6 Qt 的应用场景 二、搭建 Qt 开发环境 2.1 Qt SDK 的下载 2.2 Qt SDK 的安装 2.3 验证 Qt SDK 安装是否成功 2.4 Qt 环境变量配置 三、认识 Qt Creator 3.1 Qt Creator 概览 3.…...

家庭路由器改装,搭建openwrt旁路由以及手机存储服务器,实现外网节点转发、内网穿透、远程存储、接入满血DeepSeek方案
大家好,也是好久没有发文了,最近在捣鼓一些比较有趣的东西,打算跟大家分享一下! 先聊一下我的大致方案嘛,最近感觉家里路由器平时一直就只有无线广播供网的功能,感觉这么好的一下嵌入式设备产品不应该就干这…...
人工智能工程技术专业 和 其他信息技术专业 有哪些关联性?
人工智能工程技术专业与其他信息技术专业之间存在紧密的关联性,这些关联既体现在基础理论、技术体系上,也反映在行业应用和技术融合的趋势中。以下从多个维度解析它们的关联性: 一、基础学科与核心技术的共通性 数学与算法基础 关联专业&…...

基于本地模型+多级校验设计的高效缓存,有效节省token数量(有点鸡肋doge)。
前言 我是基于token有限而考虑的一个省钱方案,还能够快速返回结果,但是劣势也很明显,设计不好容易出问题,就如下面所介绍的语义飘逸和缓存污染,我认为在自己学习大模型的过程用来省钱非常可以,再加上学习过…...

逐步检索增强推理的跨知识库路由学习
摘要 多模态检索增强生成(MRAG)在多模态大语言模型(MLLM)中通过在生成过程中结合外部知识来减轻幻觉的发生,已经显示出了良好的前景。现有的MRAG方法通常采用静态检索流水线,该流水线从多个知识库ÿ…...
用Git管理你的服务器配置文件与自动化脚本:版本控制、变更追溯、团队协作与安全回滚的运维之道
更多服务器知识,尽在hostol.com 咱们在和服务器打交道的日子里,是不是经常要和各种各样的配置文件(Nginx的、Apache的、PHP的、防火墙的……)还有自己辛辛苦苦写下的自动化脚本打交道?那你有没有遇到过这样的“抓狂”…...

【数据库】关系数据库标准语言-SQL(金仓)下
4、数据查询 语法: SELECT [ALL | DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表名或视图名>[, <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <…...

Vue3+SpringBoot全栈开发:从零实现增删改查与分页功能
前言 在现代化Web应用开发中,前后端分离架构已成为主流。本文将详细介绍如何使用Vue3作为前端框架,SpringBoot作为后端框架,实现一套完整的增删改查(CRUD)功能,包含分页查询、条件筛选等企业级特性。 技术栈介绍 前端࿱…...

小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)
导入工具包 rom langchain_core.tools import BaseTool from typing import Sequence, Optional, List from langchain_core.prompts import BasePromptTemplate import re from langchain_core.tools import tool from langchain_core.prompts.chat import (ChatPromptTempla…...

极客时间:用 FAISS、LangChain 和 Google Colab 模拟 LLM 的短期与长期记忆
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

leetcode hot100刷题日记——35.子集
解答: 方法一:选or不选的dfs(输入视角) 思路:[1,2,3]的全部子集可以看成是对数组的每一位数字做选择。 eg.空集就是一个数字都不选,[1,2]就是1,2选,3不选。 class Solution { pub…...

MybatisPlus(含自定义SQL、@RequiredArgsConstructor、静态工具类Db)
大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…...
React 组件异常捕获机制详解
1. 错误边界(Error Boundaries)基础 在React应用开发中,组件异常的有效捕获对于保证应用稳定性至关重要。React提供了一种称为"错误边界"的机制,专门用于捕获和处理组件树中的JavaScript错误。 错误边界是React的一种…...

手眼标定:九点标定、十二点标定、OpenCV 手眼标定
因为一直使用6轴协作机器人,且主要应用是三维视觉,平常的手眼标定基本都是基于OpenCV来计算的,听说有九点标定和十二点标定,顺便了解下。 目录 1.九点标定1.1 基本原理1.2 关于最小二乘法1.3 具体示例 2.十二点标定3.OpenCV 手眼标…...

[总结]前端性能指标分析、性能监控与分析、Lighthouse性能评分分析
前端性能分析大全 前端性能优化 LightHouse性能评分 性能指标监控分析 浏览器加载资源的全过程性能指标分析 性能指标 在实现性能监控前,先了解Web Vitals涉及的常见的性能指标 Web Vitals 是由 Google 推出的网页用户体验衡量指标体系,旨在帮助开发者量…...

React-native的新架构
本文总结: 文章主要介绍了 React Native 的新架构,包括以下几个方面的内容:📱✨ 如何抹平 iOS 和 Android 样式差异,提升跨平台一致性; 分析了旧架构中存在的问题,如通信瓶颈、启动慢、维护复杂等&#x…...
【Android】MT6835 + MT6631 WiFi进入Meta模式出现WiFi_HQA_OpenAdapter failed
问题描述 WiFi进入Meta异常,出现WiFi_HQA_OpenAdapter failed [ 12.694501] mtk_wmtd_worker: [name:wlan_drv_gen4m_6835&][wlan][710]wlanProbeSuccessForLowLatency:(INIT INFO) LowLatency(ProbeOn) [ 12.699854] ccci_fsm: [name:ccci_md_all&][ccci1/fsm]M…...

Git 全平台安装指南:从 Linux 到 Windows 的详细教程
目录 一、Git 简介 二、Linux 系统安装指南 1、CentOS/RHEL 系统安装 2、Ubuntu/Debian 系统安装 3、Windows 系统安装 四、安装后配置(后面会详细讲解,现在了解即可) 五、视频教程参考 一、Git 简介 Git 是一个开源的分布式版本控制系…...

Tree 树形组件封装
整体思路 数据结构设计 使用递归的数据结构(TreeNode)表示树形数据每个节点包含id、name、可选的children数组和selected状态 状态管理 使用useState在组件内部维护树状态的副本通过deepCopyTreeData函数进行深拷贝,避免直接修改原始数据 核…...

AI书签管理工具开发全记录(五):后端服务搭建与API实现
文章目录 AI书签管理工具开发全记录(四):后端服务搭建与API实现前言 📝1. 后端框架选型 🛠️2. 项目结构优化 📁3. API路由设计 🧭分类管理书签管理 4. 数据模型定义 💾分类模型&…...

netTAP 100:在机器人技术中将 POWERLINK 转换为 EtherNet/IP
工业机器人服务专家 年轻的 More Robots 公司成立仅一年多,但其在许多应用领域的专业技术已受到广泛欢迎。这是因为More Robots提供 360 度全方位服务,包括从高品质工业机器人和协作机器人到咨询和培训。这包括推荐适合特定任务或应用的机器人࿰…...

多模态大语言模型arxiv论文略读(九十八)
Accelerating Pre-training of Multimodal LLMs via Chain-of-Sight ➡️ 论文标题:Accelerating Pre-training of Multimodal LLMs via Chain-of-Sight ➡️ 论文作者:Ziyuan Huang, Kaixiang Ji, Biao Gong, Zhiwu Qing, Qinglong Zhang, Kecheng Zhe…...

EXCEL--累加,获取大于某个值的第一个数
一、函数 LET(data,A1:A5,cumSum,SCAN(0,data,LAMBDA(a,b,ab)),idx,MATCH(TRUE,cumSum>C1,0),INDEX(data,idx)) 二、函数拆解 1、LET函数:LET(name1, value1, [name2, value2, ...], calculation) name1, name2...:自定义的变量名(需以字…...
【vscode】切换英文字母大小写快捷键如何配置
按 ⌘(Command) Shift P 打开命令面板搜索 "Transform to Uppercase" 或 "Transform to Lowercase" 点击Transform to Uppercase 命令后的齿轮图标 进入设置页面 然后就可以进行配置了 比如我是mac电脑, 切换大写可以配置为 shift alt…...
vue笔记-路由
文章目录 createWebHistory的使用router-linkrouter-link颜色是黑色,正常应该是蓝色router-link 跳转了但是不展示 其他 vue这个题目还是太大,路由单独拆出来。 createWebHistory的使用 推荐在vue-router4中使用。 1、导入。 import { createRouter, c…...

本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】
文章目录 一、安装 Ollama1.1 下载1.2 安装 二、下载 DeepSeek 模型三、使用 DeepSeek3.1 在命令行环境中使用3.2 在第三方软件中使用 一、安装 Ollama 1.1 下载 官方网址:Ollama 官网下载很慢,甚至出现了下载完显示 无法下载,需要授权 目…...
域名解析怎么查询?有哪些域名解析查询方式?
在互联网的世界里,域名就像是我们日常生活中的门牌号,帮助我们快速定位到想要访问的网站。而域名解析则是将这个易记的域名转换为计算机能够识别的IP地址的关键过程。当我们想要了解一个网站的域名解析情况,或者排查网络问题时,掌…...

win主机如何结束正在执行的任务进程并重启
最近遇到一个问题,一个java入库程序经常在运行了几个小时之后消息无法入库,由于已经没有研发人员来维护这个程序了,故此只能每隔一段时间来重启这个程序以保证一直有消息入库。 但是谁也不能保证一直有人去看这个程序,并且晚上也不…...

maven中的maven-resources-plugin插件详解
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 一、插件定位与核心功能 maven-resources-plugin是Maven构建工具的核心插件之一,主要用于处理项目中的资源文件(如…...

ROS云课基础篇-01-Linux-250529
ROS云课基础篇收到了很多反馈,正面评价比例高,还有很多朋友反馈需要写更具体一点。 ROS云课基础篇极简复习-C、工具、导航、巡逻一次走完-CSDN博客 于是,有了这篇以及之后的案例,案例均已经测试过8年,但没有在博客公…...