- 博客(42)
- 收藏
- 关注
原创 【C++QT】Combo Box 组合框控件详解
在Qt中,`QComboBox` 是通用组合框,结合下拉列表与可编辑文本框,可通过 `addItem` 添加选项,支持可编辑模式,具备可编辑性、下拉列表、数据存储、基于模型 / 视图架构等特性;`QFontComboBox` 是 `QComboBox` 的子类,专门用于选择字体,能自动列出系统可用字体,有字体选择、过滤、预览等特性。
2025-04-30 10:33:53
1047
1
原创 【C++QT】Item Views 项目视图控件详解
在 Qt 中,`Item Views`组控件提供了强大且灵活的方式来展示和管理数据。这些控件基于模型 - 视图(Model - View)架构,将数据的存储和呈现进行分离,使得代码具有更好的可维护性和可扩展性。本文详细介绍了`List View`、`Tree View`、`Table View`和`Column View` 控件的使用方法和信号与槽示例。
2025-04-28 14:40:30
914
1
原创 【Windows】删除已卸载的系统启动项
电脑启动登陆Windows系统时,弹出了多个版本的系统选项,其中仍包含已经被卸载的Windows版本。要彻底删除已卸载的 Win10/Win11 或其他版本的Windows系统启动项,需从系统引导配置和 UEFI/BIOS 设置两方面入手。本文包含了详细的解决方案及步骤解析。
2025-04-28 10:25:34
928
1
原创 【C++QT】Layout 布局管理控件详解
在 C++ Qt 中,布局管理器(Layout)是用于自动管理窗口中控件的大小和位置的重要工具。`Layout` 组中常见的布局类型有 `QVBoxLayout`(垂直布局)、`QHBoxLayout`(水平布局)、`QGridLayout`(网格布局)和 `QFormLayout`(表单布局)。本文将详细解析这些布局管理器的使用方法和应用场景。
2025-04-27 17:24:22
905
1
原创 【C++QT】Buttons 按钮控件详解
在 Qt 的 `QtWidgets` 模块中,**Buttons 组控件**是用户交互的核心组件,涵盖触发操作、状态选择、对话框按钮布局等功能。本文包含 **QPushButton、QToolButton、QCheckBox、QRadioButton、QCommandLinkButton、QDialogButtonBox** 的详细用法、技巧及实战示例。
2025-04-24 17:12:27
1200
1
原创 【NVIDIA】Isaac Sim 4.5.0 Franka 机械臂参数解析
NVIDIA `Isaac Sim 4.5.0` 对 Franka 机械臂的仿真支持实现了技术与应用的双重突破,基于 PhysX 5.0 引擎构建的高精度物理模型与动力学系统,结合 GPU 加速碰撞检测和自定义关节参数,为机械臂运动稳定性、力控精度及多实例协同效率带来显著提升。其集成的多模态传感器(力扭矩、编码器、视觉)与跨平台控制接口(ROS 2、Python/C++、强化学习),既满足工业级运动规划与实时控制需求,也为科研场景提供了算法验证与故障注入的灵活平台。
2025-04-23 14:21:32
371
1
原创 【NVIDIA】Isaac Sim 4.5.0 加载 Franka 机械臂
在机器人研发领域,高效的仿真平台是加速算法验证与系统调试的核心基础设施。作为机器人仿真领域的标杆级工具,**NVIDIA Isaac Sim 4.5.0** 凭借其强大的物理仿真能力、跨平台兼容性和生态整合优势,成为全球开发者的首选。本文将结合Franka机械臂的仿真案例,深入解析Isaac Sim 4.5.0的核心特性,并通过实战代码演示如何快速搭建Franka机械臂仿真环境。
2025-04-21 17:24:58
1166
1
原创 【NVIDIA】Isaac Sim 4.5.0 版本安装教程
Isaac Sim 最新版本为2025年1月发布的 4.5.0 版本,4.5.0 之前的版本需要下载 NVIDIA Omniverse Launcher 启动器,但 4.5.0 版本之后 Omniverse Launcher 将被弃用,因此后续安装需要在NIVIDA官网下载 Isaac 的压缩包和资产包,本文详细介绍了IsaacSim4.5.0版本的安装步骤及注意事项。
2025-04-16 17:27:09
1041
1
原创 【MySQL】常用语句
MySQL 常用语句主要围绕数据库、表和数据操作展开,能满足基本的数据库管理需求。本文对其进行分类总结。掌握这些MySQL语句后,可覆盖MySQL日常开发与管理的90%场景。进阶学习可探索存储过程、触发器、视图等高级功能。
2025-02-04 22:58:25
2227
1
原创 【C++】Lambda表达式
Lambda表达式是C++11引入的匿名函数对象,具有以下特点:· 就地定义,无需单独命名· 可捕获上下文变量· 自动推导返回类型(多数情况)· 可作为函数参数传递
2025-02-04 12:05:22
4017
原创 【C++】线程池实现
线程池是一种并发编程技术,通过预先创建一组线程并复用它们来执行多个任务,避免了频繁创建和销毁线程的开销。它特别适合处理大量短生命周期任务的场景(如服务器请求、并行计算)。线程池的核心组件1. 任务队列(Task Queue)存储待执行的任务(通常是函数对象或可调用对象)。2. 工作线程(Worker Threads)一组预先创建的线程,不断从队列中取出任务并执行。3. 同步机制互斥锁(Mutex):保护任务队列的线程安全访问。条件变量(Condition Variable):通知线程任
2025-02-03 20:06:36
1788
原创 【C++】__declspec含义
`__declspec(dllexport)` 是 Microsoft Visual C++ 编译器提供的一个扩展,用于指示一个函数或变量在 DLL(动态链接库)中是**可导出的**。它告诉编译器将函数或变量放入 DLL 的导出表中,以便其他程序(包括其他编程语言和应用程序)可以使用它们。
2024-01-15 16:41:43
1639
1
原创 【C++】static_cast和dynamic_cast使用详解
`static_cast` 并不执行运行时类型检查。因此,如果你尝试执行一种不安全的转换,例如将基类指针转换为不相关的派生类指针,编译器可能不会发出警告或错误,但在运行时可能会导致未定义的行为。在这种情况下,你可能需要考虑使用 `dynamic_cast`,它执行运行时类型检查,但仅在涉及多态的情况下才适用。
2024-01-15 15:00:20
2985
1
原创 【C++】单一职责模式
在面向对象设计中,单一职责原则(Single Responsibility Principle,简称 SRP)是 SOLID 原则之一,提出了一个类应该只有一个修改的理念。具体来说,一个类应该只有一个引起它变化的原因,即一个类应该只有一个责任。如果一个类承担的责任过多,那么对这个类的修改就会影响到所有依赖它的地方。
2023-12-14 16:47:25
1508
1
原创 【C++】策略模式
策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,将每个算法封装到不同的类中,并且使它们可以相互替换。策略模式允许客户端代码选择算法的实现,而不是将算法的选择硬编码在客户端代码中。
2023-12-14 16:04:30
1589
1
原创 【linux】tar:时间戳是未来的解决办法
使用tar解压文件时提示如下信息:tar :testFile:时间戳 2023-11-23 21:36:57 是未来的 24157.388023964 秒之后
2023-11-23 15:26:38
1430
1
原创 【PB】protobuf安装使用详解
PB 是 Protocol Buffers 的简称。Protocol Buffers 是一种由 Google 开发的数据序列化格式,用于结构化数据的存储、交换和通信。它是一种轻量、高效、可扩展的数据交换格式。PB 通过使用预定义的消息类型和二进制编码来表示数据。你可以使用 Protocol Buffers 的定义语言(Protocol Buffers IDL)来定义数据结构和消息类型,然后使用相应的编译器将定义文件编译成特定编程语言的类或结构体,从而实现在不同编程语言中使用 Protocol Buffe
2023-10-24 10:55:45
1044
原创 【C++】TCP通信服务端与客户端代码实现及详解
本文分享了TCP/IP的客户端及服务端的C++代码实现,并进行了详细的解析。其中服务端使用Winsock库实现了简单的TCP服务器,它监听指定端口并与客户端进行通信。代码仍然有改进的空间,例如可以处理更多的错误情况,添加更多的日志输出,以及更完善的输入验证等。
2023-10-19 13:41:43
8663
9
原创 【C++11/C++20】特性介绍
C++11 带来了许多强大的功能,提高了代码的可读性和性能,并使C++成为一个更现代化的编程语言。自那时以来,C++的标准还经历了多个版本的更新,每个版本都引入了新的特性和改进。C++20 极大地丰富了C++语言,提供了更多的现代化编程工具和性能优化,使得C++成为一个更加强大和灵活的编程语言。
2023-10-02 20:27:42
590
原创 【C++】单例模式
单例模式是常见的设计模式之一,本质是:只提供唯一的类的实例,其具有全局变量的特点,在任意位置都可以使用该类提供的接口访问到其唯一的实例对象。
2023-09-22 10:07:20
189
1
原创 【C++】简单工厂模式
简单工厂模式是一种实例化对象的方式,其专门定义一个类用于创建其他的类,被创建的实例具有同一个基类,使用时只需要输入相应枚举即可创建所需的对象。在程序中,若需要创建的对象较多,导致new对象时复杂混乱,此时使用简单工厂模式,可以将对象的创建与操作分为两部分,方便后期的维护与管理。
2023-09-05 15:34:57
212
1
原创 【Linux】常用指令汇总
- 以下示例涵盖了常见的Linux指令用法,可以根据具体需求进行调整和扩展。- 在终端中输入`man`命令查看每个指令的详细帮助文档,以了解更多选项和用法。
2023-08-12 16:23:42
238
原创 【C++】读取txt文件并查询指定字段
按字符读取或按行读取txt文件,然后使用string::find()函数进行查找指定字段,若查到则返回0,未查到则返回-1。
2023-07-07 13:56:51
2335
4
原创 【C++】获取文件夹下所有文件名并重命名
1. `GetAllFileName()`获取指定路径下所有文件的名称 2. `ReplaceFileName()`根据指定字段的替换,重命名所有符合条件的文件名
2023-06-30 17:09:34
3684
1
原创 【LeetCode】算法:两数之和(twoSum)解法分析
题目 【两数之和】:给定一个整数数组`nums`和一个整数目标值`target`,请你在该数组中找出和为目标值`target`的那两个整数,并返回他们的下标。解法:使用哈希表来记录每个数字及其对应的下标。在遍历数组时,对于每个数字,计算出与目标值的差值,然后在哈希表中查找该差值是否已经存在。如果存在,说明找到了两个数的组合,将其下标存入结果数组。如果遍历结束后仍未找到满足条件的两个数,则返回一个空的结果数组。
2023-06-27 22:30:33
4300
6
原创 【C++】多线程(thread)使用详解
多线程(multithreading),是指在软件或者硬件上实现多个线程并发执行的技术。具有多核CPU的支持的计算机能够真正在同一时间执行多个程序片段,进而提升程序的处理性能。在一个程序中,这些独立运行的程序片段被称为“线程”(Thread),利用其编程的概念就叫作“多线程处理”。
2023-06-25 20:16:15
22958
5
原创 【C++STL】随机排序(random_shuffle)的使用
random_shuffle算法:洗牌,随机调整指定范围内元素的次序。对于`vector`(连续型可任意访问的容器)、`string`以及数组都可以使用`random_shuffle`算法。但对于`set`、`map`(自身具有排序功能)的容器或者非连续性容器则无法使用。
2023-06-20 17:05:05
1922
1
原创 【C++】链表(list)的使用以及与vector的区别
在 C++ 中,`std::list` 是标准库提供的一个容器类,用于将数据进行链式存储。**链表**(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。
2023-06-14 20:02:50
3993
原创 【C++】指针常量与常量指针的含义与区别
分别介绍C++中指针常量与常量指针的含义以及两者的区别,分享了一种简单快速的区分方法,避免大家混淆两者概念。
2023-06-10 14:00:50
190
原创 【C++11】基于范围的for循环使用说明
C++11 引入了基于范围的 `for` 循环(Range-based for loop),它是一种方便遍历容器或其他可迭代对象的**语法糖**。
2023-06-07 10:30:39
756
原创 【C++】语法糖(Syntactic Sugar)的概念与常见应用
语法糖(Syntactic Sugar),也译为糖衣语法,是一种编程语言的设计概念,指的是一种语法结构或编码风格,它在语法上提供了更简洁、更易读的方式来表达某个特定的操作或概念,但在底层实现上仍使用了相对复杂的语法规则或操作。
2023-06-05 21:19:01
1525
原创 【C++】关联式容器(map与multimap)的使用
C++ 中,`std::map`和`multimap`都属于**关联式容器**,且都包含在头文件`#include `中,其底层结构都是用**二叉树**实现的。- `map`中所有元素都是`pair`,`pair`中第一个元素为**键值**(`key`),起索引的作用;第二个元素为**实值**(`value`),即映射值- 该类容器中元素在插入时都会根据元素的**键值**(`key`)自动排序
2023-06-04 12:08:32
718
1
原创 【C++STL】快速排序算法(sort)的原理与使用
`std::sort` 是 C++ 标准库中提供的排序算法,它使用的是一种经典的排序算法——**快速排序**(Quicksort)或者是其变种。快速排序是一种基于比较的排序算法,通过不断地选择一个基准值(pivot),将待排序序列分割为两个子序列,其中一个子序列的所有元素小于等于基准值,另一个子序列的所有元素大于基准值。然后递归地对两个子序列进行排序,最终得到有序序列。
2023-06-02 17:59:26
15223
1
原创 【C++STL】遍历算法(for_each)的原理与使用
`for_each()`遍历算法非常灵活,允许以不同的方式访问、处理、修改每一个元素。因此,`for_each()`既属于质变算法,也属于非质变算法。
2023-06-01 17:13:05
5151
原创 【C++】集合(set与multiset)的使用
C++ 中,`std::set`和`multiset`都属于关联式容器,且都包含在头文件`#include `中,其底层结构都是用二叉树实现的,该类容器中元素在插入时都会被自动排序。
2023-05-31 16:35:53
2856
1
原创 【C++】队列(queue)的使用
`std::queue` 是一个简单、高效的队列容器,适用于需要按照先进先出顺序处理元素的场景。它在插入和删除操作上具有良好的性能,且无需手动管理内存。然而,由于功能受限,如果需要在任意位置插入或删除元素,或需要遍历队列中的元素,就需要选择其他更适合的容器。
2023-05-27 18:09:35
16328
2
原创 【C++】栈(stack)的使用
C++ 中,`std::stack` 容器是一种*先进后出*(First In Last Out, FILO)的数据结构,且只有一个出口。详细介绍了C++中stack的使用方法,并分析了push与emplace的异同点。
2023-05-24 16:44:53
3787
2
原创 【C++】动态数组(vector)的使用
在 C++ 中,`std::vector` 是标准库提供的一个容器类,用于存储动态大小的元素序列(即"动态数组")。它提供了一系列成员函数和操作符,使得元素的访问、插入、删除等操作变得方便和高效。
2023-05-19 14:58:36
11196
8
原创 【C++】字符串(string)的使用
C++ 中,`std::string` 是用于处理字符串的标准库类。它提供了一系列成员函数和操作符,使得字符串的操作更加方便和灵活。
2023-05-18 21:30:16
3311
2
合成材料纹理贴图素材138x108(290张)
2025-04-27
基于NVIDIA IsaacSim4.5.0 版本的Franka机械臂USD文件(导入即可使用)
2025-04-22
TLD(Tracking-Learning-Detection)目标跟踪算法的C++实现
2023-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人