- 博客(57)
- 收藏
- 关注
原创 【Qt】QCustomPlot 简易配置教程
本文介绍了QCustomPlot库的简易配置方法。主要内容包括:下载QCustomPlot库文件;两种添加方式(直接添加或修改.pro文件);在UI中提升QWidget为QCustomPlot;提供简单绘图示例代码(绘制抛物线);以及常见问题解决方案。帮助用户快速在Qt项目中集成和使用这个轻量级绘图库。
2025-08-10 10:09:38
375
原创 【VS + Qt】VS2022 Qt 开发中 ui_xx.h 文件编辑报错但编译正常的问题解决
摘要:VS2022 Qt开发中ui_xx.h文件出现编辑器报错但编译正常的问题,原因是IntelliSense未包含uic生成文件的路径。解决方法是在C++附加包含目录中添加$(QtVarsOutputDir)uic路径,或切换平台工具集至VS2022(143)。该问题源于IntelliSense与编译器头文件搜索路径不一致,Qt构建系统自动为编译器配置路径,但需要手动为IntelliSense添加uic生成目录才能正确识别ui_xx.h文件。(147字)
2025-08-06 15:08:23
358
原创 【CMake】CMake 与 C++ 协同:条件配置机制及控制台控制实例解析
摘要:CMake与C++协同开发中,通过set定义CMake变量作为构建开关,使用target_compile_definitions条件传递宏到C++代码。C++通过#ifdef判断宏实现条件编译,如控制Windows控制台显示。扩展方案包括configure_file生成配置、跨平台条件编译和功能开关等应用场景,实现灵活的环境适配。这种"CMake配置+代码条件编译"模式是大型项目的常用工程技巧。
2025-07-25 14:26:41
313
原创 【Qt】QProcess启动第三方程序或脚本失败
Qt QProcess启动第三方程序失败的原因及解决方法 主要问题原因: 环境变量缺失 - QProcess默认继承Qt程序环境,可能缺少关键变量(如PATH、DISPLAY等) 工作目录不匹配 - 默认工作目录为Qt程序目录,脚本相对路径解析错误 路径/权限问题 - 路径错误、权限不足或脚本格式错误 依赖缺失 - 第三方程序依赖的系统库或模块未安装 关键解决方法: 环境变量设置: 使用QProcessEnvironment::systemEnvironment()获取系统环境变量 手动添加缺失变量(如DI
2025-07-25 14:12:57
639
原创 【C++】C++ 和python 夸语言包通信,使用Json数据格式传输。
这些是Qt网络模块的通用函数,与JSON格式本身无关,它们负责处理底层数据传输。使用JSON时需要这些函数,是因为网络传输只能处理字节流,而JSON需要先转换为字节流才能传输。这种编码/解码过程是所有文本格式(包括JSON)在网络传输中的通用处理方式,并非JSON特有,但JSON作为文本型数据交换格式,必须遵循这一流程。
2025-07-24 15:50:13
340
原创 【C++】通信中字节对齐的问题
字节对齐是网络通信中跨平台/语言交互的基础问题,和struct模块是轻量解决方案,但需警惕编译器差异、类型大小、字节序等隐性风险。对于复杂系统,优先采用序列化框架,以平衡兼容性、可维护性与性能。
2025-07-23 11:51:32
580
原创 【Qt】麒麟系统安装套件
本文介绍了在麒麟系统上安装和配置 Qt 开发环境的步骤。首先通过系统包管理器安装基础编译工具和 Qt 依赖库,然后通过 apt 安装 Qt 基础套件及常用模块。接着详细说明了如何在 Qt Creator 中配置编译器、调试器和 Qt 版本,并创建套件(Kit)。最后验证配置是否正确,确保可正常创建和编译 Qt 项目。该指南适用于快速搭建 Qt 开发环境,支持图形、多媒体等功能开发。
2025-07-16 13:03:32
443
原创 【Qt+error】error: use of undeclared identifier ‘MainWindow
麒麟系统Qt报MainWindow未声明错误但不影响运行,可通过禁用clangcodemodel插件解决。该插件负责代码分析但可能不适配麒麟系统导致误报,禁用后Qt Creator会使用更稳定的默认代码模型,正确识别类声明而不影响编译运行。
2025-07-16 13:01:37
222
原创 【系统】虚拟机文件共享
摘要:在VMware虚拟机中挂载共享文件夹需先确认设置名称(如"gx"),创建挂载目录后执行挂载命令。挂载完成后可验证并设置开机自动挂载,需注意共享文件夹名称大小写需完全匹配。包括创建目录、执行挂载、验证结果及设置自动挂载的详细步骤说明。
2025-07-16 12:59:18
213
原创 【SVN】设置忽略规则
摘要:本文介绍了如何设置SVN忽略规则仅跟踪.cpp和.h文件。通过在项目根目录创建.svnignore文件并配置忽略规则,使用PowerShell递归设置svn:ignore属性。重点分析了已跟踪文件无法自动忽略的问题原因,并提供了解决方案:1)清理已跟踪的非代码文件;2)强制重新应用忽略规则。最后强调要提交属性变更以确保规则生效。该方法适用于需要严格控制版本控制文件类型的情况。
2025-07-15 17:14:21
398
原创 【Qt】 设计模式
本文介绍了Qt开发中常用的设计模式及其应用场景。MVC/MVVM模式用于数据与界面分离,单例模式管理全局资源如数据库连接,观察者模式通过信号槽实现对象间通信。工厂模式动态创建数据库连接,命令模式封装数据库操作支持撤销功能,状态模式处理网络连接等状态切换。这些模式结合Qt特性(信号槽、模型视图等),可有效提升代码可维护性和扩展性,适用于数据库操作、通信模块和界面逻辑等场景。
2025-07-15 17:12:34
482
原创 【C++】ExprTk:C++数学表达式解析利器
ExprTk是一个高效的C++数学表达式解析库,支持复杂运算、300+内置函数和变量绑定。其亮点包括:实时解析表达式、支持条件逻辑和自定义函数扩展、提供批量计算优化和详尽的错误处理。
2025-07-15 17:03:36
283
原创 【Qt】插件机制详解:从原理到实战
本文详细解析Qt插件机制的核心原理和实现方法。Qt插件基于接口的动态加载技术,通过标准化接口(IPlugin)、插件元数据声明(Q_INTERFACES/Q_PLUGIN_METADATA)和QPluginLoader动态加载实现主程序与插件的解耦。文章以PluginPro主程序和PluginC插件为例,阐述了从接口定义、插件实现到动态加载的完整流程,并分析了Qt插件机制在松耦合、动态扩展、跨平台等方面的优势。该机制使系统功能可灵活扩展,显著提升可维护性。
2025-07-15 16:27:23
793
原创 【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
999
原创 【VS+Qt】vs2022打开 vs2015项目
最近新装了VisualStudio2022,有一些+ Qt 的老的项目需要运行,但不想再安装VS2015。参照大佬的一些方法,可行。
2025-04-02 12:20:16
609
原创 【VS】release版本设置单步调试
配置属性” -> “链接器” -> “调试”,这里的 “生成调试信息” 选项也会对调试信息的生成产生影响。通常,将其设置为 “是 (/DEBUG)” 可以确保链接器生成必要的调试信息。“配置属性” -> “C/C++”(对于 C++ 项目)或 “优化”(对于 C# 项目)中的优化选项设置为 “不优化”。C++ 项目属性 c+±>常规->调试信息格式->
2025-04-02 12:16:23
329
原创 【Qt】Qt 类的继承与内存管理详解:QObject、信号槽与隐式共享
在刚开始开发中,想当然的以为Qt的类都是继承自QObject其实不是。导致有时候写的一个继承自比如QGraphicsRectItem的自定义类,不能使用信号槽,但是发现加了Q_OBJECT宏 但是还是报错;最后发现应该这样写就可以了。,使得它们在赋值和拷贝时效率更高。,不需要显式管理内存。
2025-03-29 20:31:24
1164
原创 【Qt】数据库管理
作为数据模型显示查询结果。模块化设计:分离数据库连接管理、UI初始化、查询逻辑、历史记录等功能,便于维护和扩展。MVC模式:通过Qt控件实现视图(UI),业务逻辑(数据库操作、查询处理)封装在。:频繁编写数据库查询语句,希望通过工具简化操作,提升效率。
2025-03-29 15:17:01
606
原创 【Qt】modbus客户端笔记
本客户端利用 Qt 的实现与 Modbus 服务器的通信,具备连接、读写寄存器、心跳检测、自动重连等功能,旨在提供一个可靠且易用的 Modbus 客户端框架,方便在不同项目中集成使用。
2025-03-27 17:07:48
855
原创 【C++】结构体中的 std::string:赋值操作的安全性与 memset和memcpy 的陷阱
当结构体中包含 等标准库对象时,不建议使用 和 来对结构体进行赋值 :强调构造/析构函数 和 直接操作内存,会绕过对象的构造函数和析构函数。对于 这样的非平凡(non-trivial)类型:未定义行为的具体表现在错误示例中:标准库容器的通用性规则不仅适用于 ,也适用于其他管理资源的类型(如 、)。例如:C++对象的“生命周期”管理C++ 依赖于构造函数和析构函数管理资源。手动内存操作(如 /)会破坏 RAII(资源获取即初始化)原则,导致资源泄漏或非法操作。例外情况若结构体仅包含平凡
2025-03-24 17:33:17
552
原创 【bat】查询依赖库脚本
工具来查询该可执行文件所依赖的动态链接库(DLL)。 这个批处理脚本的主要功能是使用 Visual Studio 提供的。
2025-03-21 16:36:24
229
原创 【Qt】Qt + Modbus 服务端学习笔记
1.因为项目的需要,要写一个modbus通信,csdn上感觉有些回答,代码是人工智能生成的,有些细节不对。我这个经过实测,是可以直接用的。
2025-03-19 16:43:15
567
原创 【VS】vs生成前事件,复制脚本文件至运行目录
在项目目录中添加了一些配置文件,或者脚本文件,运行时需要把这些文件复制运行目录下,visual studio 中 可以设置生成事件,项目生成时自动复制文件到运行目录。
2025-03-12 14:54:09
258
原创 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
306
原创 【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
582
原创 【git】 Could not read from remote repository.
使用 git 命令行能行 ,但是使用 小乌龟就不行,是不是小乌龟没配置对。
2025-03-12 11:03:50
417
原创 【VS+Qt】VS中编辑Qt中ui界面,代码中未更新
3. 还不行的话,先把添加了控件的界面运行起来,让控件显示出来,此时再去代码中 ui-> 就可以找到控件了。2.不行的话删掉 UI的 .h 文件。1.先确定.ui文件有没有保存。
2025-03-11 15:30:29
380
原创 【调试】visual studio 中Realease版本中如何进行断点调试。
此时会出现一个红色断点标记。3.配置项目属性 - 优化选项(可选):如果想要设置完全断点,可以进一步选择 “C/C++”->“优化”,将其设置为 “已禁用(/Od)”。1.配置项目属性 - C/C++ 选项:右键点击项目,选择 “属性”,在弹出的属性窗口中,选择 “C/C++”->“常规”,将 “调试信息格式” 设置为 “/Zi”。2.配置项目属性 - 链接器选项:继续在项目属性窗口中,选择 “配置属性”->“链接器”,将 “生成调试信息” 设置为 “生成调试信息(/DEBUG)”。
2025-03-11 15:25:49
571
原创 Visual studio + Qt 项目配置管理
并且设置好Qt 的环境变量比如2.vs 要安装扩展安装完之后,关闭vs 电脑会自动安装插件。Qt项目就配置成功了。 创建了一个 动态库项目,但是visual studio中我无法直接调试动态库项目,可以新建一个 测试 EXE 项目 来调用 ,然后在 里设置断点进行调试。 3.配置 依赖 右键 ,选择 在 “VC++ 目录” → “包含目录 (Include Directories)” 里添加 的头文件路径在 “VC++ 目录” → “库目录 (Library Directories)”
2025-03-08 23:03:04
1588
原创 java调用c++
链接: https://pan.baidu.com/s/1Ov9bJkPNnOgcliBL-PSTFQ?pwd=pg43 提取码: pg43。JNA 能够直接映射 C++ 的基本数据类型,但要注意。 安装 JDK官网直接下载就好,推荐镜像下载。目录(相对于项目根目录)。(查看 Java 依赖)
2025-03-08 23:01:51
952
原创 【Qt】QApplication::restoreOverrideCursor():恢复鼠标光标到原始状态的用法解析
是 Qt 中类提供的一个静态函数,用来恢复鼠标光标到应用程序之前设置的状态。在 Qt 中,你可以使用来临时更改鼠标光标的外观。例如,当执行一些耗时操作时,你可能想将鼠标光标更改为一个等待图标(比如沙漏或旋转的圆圈),以提示用户程序正在处理。在调用之后,光标将会一直保持在指定状态,直到调用。这个函数的调用会恢复光标到调用之前的状态。
2024-10-29 09:19:13
452
原创 【Qt】自定义分隔线控件
要制作一个独立的控件,并在其上绘制横线或竖线。创建了一个名为LineWidget的自定义QWidget,用于绘制横线或竖线。根据父QWidget的大小来设置横线或竖线的大小。使用setParent()函数将控件添加到父对象中。根据需要设置了横线和竖线的位置。
2024-03-12 11:25:03
916
原创 【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
789
原创 【QMetaObject】如何根据信号名字字符串调用对象的槽函数
在 Qt 中,如果有一个信号的字符串名字,并且想要调用对应的槽函数,可以使用 QMetaObject::invokeMethod() 方法。这个方法允许你根据信号名字字符串调用对象的槽函数。以下是 QMetaObject 类的一些重要功能和用法:**
2024-03-08 15:15:45
322
1
原创 【Qt】将QStringList 变为QString
将 QStringList 中的多个字符串合并成一个单独的 QString,可以使用 QString 的 join 方法。
2024-01-23 14:39:39
883
原创 【Qt】检查Json数据语法错误的小工具。
上班的过程中会经常写和修改json格式文件,每次找错误很麻烦,使用这个Qt自带的json库来检查json脚本错误,感觉比较方便。1.使用 QJsonDocument::fromJson 解析 JSON 文本。2.如果存在解析错误,根据错误类型定位错误行,计算错误的行号。3.如果没有解析错误,返回 “OK”。
2024-01-17 21:22:38
1218
原创 【C++/Qt】使用Json脚本动态生成QTabWidget界面
【代码】【C++/Qt】使用Json脚本动态生成QTabWidget界面。
2024-01-12 20:24:30
1407
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人