自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Git】git clone使用ssh报错 No supported authentication methods available(server sent publickey) 的解决办法

git clone使用ssh报错: No supported authentication methods available(server sent: publickey) 的解决办法。这儿进行修改操作,点击 “ Browser ” 找到在本地安装的 git 服务的根目录 -> Git -> usr -> bin 目录下选中 ssh.exe ,再点击打开即可。

2025-04-02 12:28:03 87

原创 【VS+Qt】vs2022打开 vs2015项目

最近新装了VisualStudio2022,有一些+ Qt 的老的项目需要运行,但不想再安装VS2015。参照大佬的一些方法,可行。

2025-04-02 12:20:16 254

原创 【VS】release版本设置单步调试

配置属性” -> “链接器” -> “调试”,这里的 “生成调试信息” 选项也会对调试信息的生成产生影响。通常,将其设置为 “是 (/DEBUG)” 可以确保链接器生成必要的调试信息。“配置属性” -> “C/C++”(对于 C++ 项目)或 “优化”(对于 C# 项目)中的优化选项设置为 “不优化”。C++ 项目属性 c+±>常规->调试信息格式->

2025-04-02 12:16:23 82

原创 【Qt】Qt 类的继承与内存管理详解:QObject、信号槽与隐式共享

​ 在刚开始开发中,想当然的以为Qt的类都是继承自QObject其实不是。导致有时候写的一个继承自比如QGraphicsRectItem的自定义类,不能使用信号槽,但是发现加了Q_OBJECT宏 但是还是报错;最后发现应该这样写就可以了。,使得它们在赋值和拷贝时效率更高。,不需要显式管理内存。

2025-03-29 20:31:24 1043

原创 【Qt】数据库管理

作为数据模型显示查询结果。模块化设计:分离数据库连接管理、UI初始化、查询逻辑、历史记录等功能,便于维护和扩展。MVC模式:通过Qt控件实现视图(UI),业务逻辑(数据库操作、查询处理)封装在。:频繁编写数据库查询语句,希望通过工具简化操作,提升效率。

2025-03-29 15:17:01 542

原创 【Qt】程序加入开机自启动

一是与 Windows 系统注册表交互,实现开机自启动功能的设置与取消;

2025-03-28 14:44:37 576

原创 【Qt】modbus客户端笔记

本客户端利用 Qt 的实现与 Modbus 服务器的通信,具备连接、读写寄存器、心跳检测、自动重连等功能,旨在提供一个可靠且易用的 Modbus 客户端框架,方便在不同项目中集成使用。

2025-03-27 17:07:48 735

原创 【C++】结构体中的 std::string:赋值操作的安全性与 memset和memcpy 的陷阱

当结构体中包含 等标准库对象时,不建议使用 和 来对结构体进行赋值 :强调构造/析构函数 和 直接操作内存,会绕过对象的构造函数和析构函数。对于 这样的非平凡(non-trivial)类型:未定义行为的具体表现在错误示例中:标准库容器的通用性规则不仅适用于 ,也适用于其他管理资源的类型(如 、)。例如:C++对象的“生命周期”管理C++ 依赖于构造函数和析构函数管理资源。手动内存操作(如 /)会破坏 RAII(资源获取即初始化)原则,导致资源泄漏或非法操作。例外情况若结构体仅包含平凡

2025-03-24 17:33:17 437

原创 【bat】查询依赖库脚本

工具来查询该可执行文件所依赖的动态链接库(DLL)。​ 这个批处理脚本的主要功能是使用 Visual Studio 提供的。

2025-03-21 16:36:24 175

原创 【Qt】Qt + Modbus 服务端学习笔记

1.因为项目的需要,要写一个modbus通信,csdn上感觉有些回答,代码是人工智能生成的,有些细节不对。我这个经过实测,是可以直接用的。

2025-03-19 16:43:15 486

原创 【VS】vs生成前事件,复制脚本文件至运行目录

​ 在项目目录中添加了一些配置文件,或者脚本文件,运行时需要把这些文件复制运行目录下,visual studio 中 可以设置生成事件,项目生成时自动复制文件到运行目录。

2025-03-12 14:54:09 169

原创 typora激活

链接: https://pan.baidu.com/s/15Y-8g-2XiQWz0LwXWzNWCw?pwd=87kp 提取码: 87kp。2.重新打开Typora ,没有再出现弹窗,此时已经激活成功!1.复制typora-winmm补丁中的文件移动到Typora中。通过网盘分享的文件:typora-winmm补丁.zip。

2025-03-12 12:52:07 208

原创 【Git】Git本地仓库代码文件没有小图标怎么回事

3.如果文件夹下没有Max Cached Icons这个选项,也就是右侧没有Max Cached Icons这个选项,就新建一个Max Cached Icons这个选项,数值数据为2000。2.找到这个路径HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\Explorer。修改:把Tortoise相关的几个文件夹前面重命名,添加几个空格,总之,让Tortoise相关的几个文件夹排在最前面,保存关闭注册表。

2025-03-12 11:22:00 223

原创 【win11】win11 右键菜单折叠取消

试了别的方法都感觉很麻烦,这个博主的办法实测可以生效。

2025-03-12 11:06:49 260

原创 【git】 Could not read from remote repository.

使用 git 命令行能行 ,但是使用 小乌龟就不行,是不是小乌龟没配置对。

2025-03-12 11:03:50 222

原创 【VS+Qt】VS中编辑Qt中ui界面,代码中未更新

3. 还不行的话,先把添加了控件的界面运行起来,让控件显示出来,此时再去代码中 ui-> 就可以找到控件了。2.不行的话删掉 UI的 .h 文件。1.先确定.ui文件有没有保存。

2025-03-11 15:30:29 249

原创 【调试】visual studio 中Realease版本中如何进行断点调试。

此时会出现一个红色断点标记。3.配置项目属性 - 优化选项(可选):如果想要设置完全断点,可以进一步选择 “C/C++”->“优化”,将其设置为 “已禁用(/Od)”。1.配置项目属性 - C/C++ 选项:右键点击项目,选择 “属性”,在弹出的属性窗口中,选择 “C/C++”->“常规”,将 “调试信息格式” 设置为 “/Zi”。2.配置项目属性 - 链接器选项:继续在项目属性窗口中,选择 “配置属性”->“链接器”,将 “生成调试信息” 设置为 “生成调试信息(/DEBUG)”。

2025-03-11 15:25:49 296

原创 Visual studio + Qt 项目配置管理

​ 并且设置好Qt 的环境变量比如2.vs 要安装扩展安装完之后,关闭vs 电脑会自动安装插件。Qt项目就配置成功了。​ 创建了一个 动态库项目,但是visual studio中我无法直接调试动态库项目,可以新建一个 测试 EXE 项目 来调用 ,然后在 里设置断点进行调试。​ 3.配置 依赖 右键 ,选择 在 “VC++ 目录” → “包含目录 (Include Directories)” 里添加 的头文件路径在 “VC++ 目录” → “库目录 (Library Directories)”

2025-03-08 23:03:04 1210

原创 java调用c++

​ 链接: https://pan.baidu.com/s/1Ov9bJkPNnOgcliBL-PSTFQ?pwd=pg43 提取码: pg43。JNA 能够直接映射 C++ 的基本数据类型,但要注意。​ 安装 JDK官网直接下载就好,推荐镜像下载。目录(相对于项目根目录)。(查看 Java 依赖)

2025-03-08 23:01:51 885

原创 【Qt】QApplication::restoreOverrideCursor():恢复鼠标光标到原始状态的用法解析

是 Qt 中类提供的一个静态函数,用来恢复鼠标光标到应用程序之前设置的状态。在 Qt 中,你可以使用来临时更改鼠标光标的外观。例如,当执行一些耗时操作时,你可能想将鼠标光标更改为一个等待图标(比如沙漏或旋转的圆圈),以提示用户程序正在处理。在调用之后,光标将会一直保持在指定状态,直到调用。这个函数的调用会恢复光标到调用之前的状态。

2024-10-29 09:19:13 362

原创 【Qt】检查QString中是否有中文标点符号

创建一个 QRegularExpression 对象 a,用于匹配中文标点符号。

2024-03-13 11:49:05 345

原创 【Qt】自定义分隔线控件

要制作一个独立的控件,并在其上绘制横线或竖线。创建了一个名为LineWidget的自定义QWidget,用于绘制横线或竖线。根据父QWidget的大小来设置横线或竖线的大小。使用setParent()函数将控件添加到父对象中。根据需要设置了横线和竖线的位置。

2024-03-12 11:25:03 768

原创 【Qt】this->setAttribute(Qt::WA_DeleteOnClose)

this->setAttribute(Qt::WA_DeleteOnClose) 这行代码是在 Qt 框架中使用的,用于设置窗口部件(通常是 QWidget 或其子类)的属性。:如果正在使用 C++ 的智能指针(如 std::unique_ptr 或 std::shared_ptr)来管理窗口部件的生命周期,那么可能需要重新考虑是否使用 Qt::WA_DeleteOnClose,因为智能指针和这个 Qt 属性在删除对象时可能会有冲突。这有助于避免内存泄漏,特别是当窗口部件是通过动态内存分配创建时。

2024-03-11 16:57:54 715

原创 【QMetaObject】如何根据信号名字字符串调用对象的槽函数

在 Qt 中,如果有一个信号的字符串名字,并且想要调用对应的槽函数,可以使用 QMetaObject::invokeMethod() 方法。这个方法允许你根据信号名字字符串调用对象的槽函数。以下是 QMetaObject 类的一些重要功能和用法:**

2024-03-08 15:15:45 279 1

原创 【Qt】将QStringList 变为QString

将 QStringList 中的多个字符串合并成一个单独的 QString,可以使用 QString 的 join 方法。

2024-01-23 14:39:39 826

原创 【Qt】检查Json数据语法错误的小工具。

上班的过程中会经常写和修改json格式文件,每次找错误很麻烦,使用这个Qt自带的json库来检查json脚本错误,感觉比较方便。1.使用 QJsonDocument::fromJson 解析 JSON 文本。2.如果存在解析错误,根据错误类型定位错误行,计算错误的行号。3.如果没有解析错误,返回 “OK”。

2024-01-17 21:22:38 1031

原创 【C++/Qt】使用Json脚本动态生成QTabWidget界面

【代码】【C++/Qt】使用Json脚本动态生成QTabWidget界面。

2024-01-12 20:24:30 1305 1

原创 【C++】打印输出,换行的3种方式

3.使用<<运算符分开两个输出操作。1.使用std::endl。2.使用\n进行换行。

2024-01-12 16:22:10 10835 2

原创 【Visual Studio】常用快捷键

Ctrl + Shift + F:在整个解决方案中查找内容。Ctrl + F: 在当前文件中查找内容。ctrl+k +c 多行注释快捷键。ctrl+k+u 取消注释。Ctrl + G:跳转到指定行。转大写:Ctrl+Shift+U。转小写:Ctrl+U。

2024-01-09 21:04:57 469

原创 【Git】常用命令

如果需要删除远程分支,可以使用如下命令:git push origin :[分支名称],比如:git push origin :develop。需要注意的是,删除远程分支后,如果其他用户有基于该分支做出的修改还未合并到主分支,那么这些人将没有办法继续操作,需要谨慎操作。在Git中删除分支的命令是:git branch -d [本地分支名称],比如:git branch -d develop。在Gitlab中删除分支也很容易,只需要进入到仓库页面,选择分支页面,然后点击想要删除的分支名称,选择删除即可。

2024-01-09 20:52:26 367

原创 【Scheme】cond的用法

每个条件表达式都由一个条件和一个相应的表达式组成。cond 会按照顺序检查条件,一旦找到第一个为真的条件,就执行相应的表达式,并忽略后续条件。如果所有条件都为假,且存在 else 分支,那么将执行 else 分支的表达式。else 分支是可选的。

2024-01-09 20:32:02 498

原创 【C++】对象切片

在C++中,如果你有一个基类的引用或指针指向一个派生类对象,而且你通过该引用或指针进行赋值或传递给函数,只有基类部分的成员被复制或传递,而派生类特有的成员将被丢失。为了避免对象切片,通常使用基类的指针或引用,并在处理多态时使用虚函数。这样可以确保在运行时调用实际类型的成员函数,而不会失去派生类的信息。对象切片是指当通过基类的引用或指针来操作派生类对象时,只会保留基类部分的情况。这通常发生在使用值传递或直接赋值操作时。

2024-01-07 18:44:00 592 1

原创 【C++】关于多态的思考

Call(B &p) 传进去的是一个B类型的指针,C类型的对象,因为B继承A,且B中没有Fun函数,所以调用A的Fun函数。而C重写了B的虚函数DO(),是实现多态的原理,调用了C的Do()函数。

2024-01-07 17:53:18 415 1

原创 【C++】继承与多态

在C++中,可以通过将一个子类的对象赋值给一个指向父类的指针,来实现多态。这是通过对象的指针或引用来使用多态性的一种方式。当你使用这种方法时,你可以通过父类的指针或引用来访问子类的成员,但是只能访问到父类声明的成员,而不能访问子类新增的成员。

2024-01-07 17:15:15 408 1

原创 【C++】std::any_of的用法

first 和 last:定义了要搜索的元素范围的迭代器对(iterator pair)。[first, last) 表示范围,即从 first 开始(包括 first),到 last 结束(不包括 last)。p:是一个谓词(predicate)函数或可调用对象,用于定义搜索的条件。谓词应该是一个可接受范围内元素类型的函数,返回 bool 类型。std::any_of 是 C++ 标准库中的一个算法,用于判断给定范围内的元素是否至少有一个满足指定的条件。

2024-01-07 16:31:22 1607 1

原创 【Qt】使用Json文件生成QTreeView的树结构(二)

这段代码的主要思路是读取 JSON 文件,构建树形结构,并使用 QFileSystemWatcher 监视文件变化。当文件发生变化时,重新读取 JSON 文件并更新树形结构。这使得用户可以在外部修改 JSON 文件并实时看到更新的树形结构。

2023-12-30 19:44:32 658 1

原创 【Qt】使用Json文件生成QTreeWidget的树结构(一)

【Qt】使用Json文件生成QTreeView的树结构。

2023-12-29 23:33:54 944 1

原创 【c++】节数组<=>十六进制字符串

source:输入的字节数组。dest:存储输出的十六进制字符串的缓冲区。sourceLen:输入字节数组的长度。source:输入的十六进制字符串。dest:存储输出的字节数组的缓冲区。sourceLen:输入十六进制字符串的长度。

2023-12-08 18:38:00 231

原创 【c++】使用FFmpeg库进行视频流处理的

,新版的FFmpeg可能需要做相应的更新。此外,对于实时视频流,循环的方式并不是最优的,因为它会一直运行,最好的方式是将其放在单独的线程中。这两行代码用于初始化FFmpeg库和网络库,确保在使用解封装(flv,mp4,rmvb,avi)功能和编解码器之前进行了初始化。如果解码成功,进行格式转换、缩放,并将RGB数据加载到QImage中。这部分代码用于打开RTSP流或文件流,设置了一些参数以优化流的拉取,例如设置缓存大小、超时时间等。最后释放分配的资源,包括输出缓冲区、帧以及关闭解码器和输入流。

2023-12-08 18:28:19 2316

原创 【Qt】将外部程序窗口嵌入到Qt应用程序中

之后,使用 Pid2Wid 函数检索窗口句柄(WId),从窗口句柄创建一个 QWindow,对窗口设置了一些标志,并创建了一个 QWidget 来将窗口嵌入到Qt应用程序中。如果找到匹配,返回该窗口的窗口句柄(WId);这个函数创建了一个新的QProcess,命名为 pProc,并连接了一个lambda函数到应用程序的aboutToQuit信号,确保外部进程在Qt应用程序即将退出时被终止。然后,设置了进程通道模式,启动外部进程(CoppeliaSimEdu),并等待其启动和完成(最多等待8000毫秒)。

2023-12-08 18:16:56 1275

c++/Qt实现的坦克大战

c++/Qt实现的坦克大战

2023-12-09

空空如也

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

TA关注的人

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