- 博客(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】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
原创 【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】自定义分隔线控件
要制作一个独立的控件,并在其上绘制横线或竖线。创建了一个名为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
原创 【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
原创 【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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人