- 博客(52)
- 资源 (5)
- 收藏
- 关注
原创 【Qt bug排查】Qt项目debug模式下,关闭可视化界面后,后台程序不退出,依然在打印log
文章摘要:日志显示析构完成但程序未退出,原因是Cdu服务器业务类的析构函数中,使用QMetaObject::invokeMethod以阻塞方式调用了所在子线程的closeUdp()方法,导致死锁。单步调试发现线程卡死,主程序无法退出。总结指出析构函数中禁止使用阻塞连接方式调用当前对象或其子线程的方法,也禁止访问当前对象的成员变量,否则会引发死锁。核心结论强调析构函数中进行此类操作是高风险行为。
2026-05-04 15:05:50
31
原创 Unity URDF 导入后运行报错问题笔记
摘要:SolidWorks导出的无关节URDF模型在Unity中使用URDF Importer插件时,因插件自带的Controller.cs脚本默认选中索引为1(专为多关节机械臂设计),导致数组越界报错。解决方法是将初始索引改为0,并添加数组越界保护。该问题属于插件官方脚本漏洞,仅影响无关节的单一刚体URDF模型导入。(98字)
2026-04-15 18:28:00
260
原创 【Qt】运行 `windeployqt.exe` 打包Qt发布包,遇到警告的解决方法 (Warning: Cannot find any.....)
这篇文章介绍了解决Qt打包发布时找不到dxcompiler.dll和dxil.dll文件的问题。作者提供了详细的操作步骤:首先通过VS开发者命令工具定位到程序目录,然后使用cd命令切换路径(附无效情况的解决方法),最后执行windeployqt命令完成打包。文章还提示了Qt项目中常见的缺失DLL组件问题,并配有操作截图辅助说明。整体内容简明实用,针对Qt开发者在打包过程中遇到的特定DLL缺失问题给出了清晰的解决方案。
2026-04-15 17:40:38
198
原创 【Qt】Qt Creator Debug模式提示“缺少 Windows CDB 调试器配套的扩展组件“”
本文介绍了Qt调试功能缺失问题的解决方法。通过Qt Maintenance Tool添加CDB调试器支持组件:1)打开维护工具;2)选择"添加或移除组件";3)在Qt Creator下勾选"CDB Debugger Support";4)完成安装后重启Qt Creator即可恢复调试功能。注意不同版本中组件位置可能有所差异。该方法能有效解决调试功能不可用的问题。
2025-12-07 19:35:40
330
原创 计算机架构与字节序(大小端)
大小端模式决定了数据在内存中的存储顺序,小端模式将低字节存于低地址(如x86固定小端),大端模式则相反(如传统PowerPC)。主流架构中,x86/x86_64固定小端,ARM和RISC-V默认小端但支持双端切换,而PowerPC、MIPS等传统大端架构也逐步转向双端兼容。龙芯等国产架构默认小端以兼容生态,DSP则因厂商而异。现代处理器多支持双端模式,兼顾兼容性与灵活性。
2025-12-05 15:00:00
675
原创 【Qt】Qt设计师控件名缩写、命名规则
本文整理了Qt常用控件的标准命名规范,包含6大类59种控件:1)布局控件组(如vLay、hLay);2)间隔控件组(hsp、vsp);3)按钮控件组(btn、tbtn等);4)视图/部件组(lv、tv、lw等);5)容器控件组(gbx、tabWgt等);6)输入/显示控件组(le、pte、lbl等)。每种控件提供全称、中文名称、推荐简写及示例(如gbxSetting),便于开发者规范命名,提升代码可读性。
2025-12-05 10:31:53
483
原创 【Qt】VS Code配置Qt UI插件,vscode打开Qt Designer ,vscode打开Qt*.ui文件
本文介绍了如何在VS Code中安装和使用Qt UI插件。首先需要安装Qt Core依赖,然后通过设置配置Qt Designer路径(如C:/Qt/6.9.1/msvc2022_64/bin/designer.exe)。安装完成后,可直接在VS Code中用Qt Designer打开UI文件进行编辑。该方法同样适用于Trae等新兴AI IDE。整个配置过程简单快捷,为开发者提供了便捷的Qt界面设计工具集成方案。
2025-10-23 14:44:08
1799
原创 【C++】嵌套类访问外围类的私有成员
嵌套类可以访问外围类的私有成员,即便嵌套类是public属性。通过外围类实例的指针,嵌套类能够访问外围类的所有成员,包括私有成员。这类似于"专属管家"可以访问"房子"的所有区域,拥有完整的访问权限。代码示例验证了嵌套类CNested通过外围类CExternal的指针成功访问并修改了其私有成员m_nCnt的值。因此,嵌套类与外围类之间存在特殊的访问权限关系。
2025-10-23 11:50:27
313
原创 【Qt】布局管理器类常用方法介绍
在Qt(C++)开发中,布局管理器是实现的核心工具。常用的布局类主要围绕QBoxLayout家族(含)、和,它们覆盖了绝大多数界面布局场景。以下是各布局类的核心作用、常用API及实战用法。
2025-09-28 08:54:30
1030
原创 【Qt】滚动区域类QScrollArea中子部件被压缩,且不显示滚动条的问题
定义部件在布局中的大小行为(是否拉伸、固定等),是布局管理的核心配置。用于在大小相关属性变化后,强制布局管理器重新计算布局,确保界面正确显示。两者结合使用,可以精确控制部件在各种布局中的大小表现。
2025-09-25 17:49:31
943
原创 【Qt】QButtonGroup、QToolButton、QStackedWidget的常用用法
是一个逻辑管理类(非可视化组件),用于管理一组派生类(如等)。实现按钮间的互斥选择(类似单选按钮组);为按钮分配唯一ID,方便通过ID识别按钮;统一处理一组按钮的点击事件。是可视化按钮组件,继承自,专为工具栏(QToolBar)设计。与普通相比,它更适合显示图标(而非文字),支持快捷操作和弹出菜单,外观更紧凑。是容器类组件,用于管理多个子部件(QWidget),但同一时间仅显示一个子部件(类似“卡片切换”)。它本身不提供切换控件,需配合外部组件(如按钮、)触发切换。
2025-09-23 22:22:44
769
原创 【Qt】编写Qt自定义Ui控件步骤
新建项目“其它项目 --> Qt4 设计师自定义控件”自定义项目“名称、创建路径”,下一步;选择合适的编译套件,下一步;前文提到过,要选择与 Qt Creator 相对应的编译环境,否则不能在 Qt Creator 中拖放使用。指定自定义控件属性,按下图操作:步骤 2,红框中的创建代码框架复选框,记得勾选;本示例是创建一个自定义按钮,我打算在原上修改,所以控件的基类我填的是;“链接库” 用于复用已有编译好的控件库,没有,这里不选择。插件名称、资源文件名称修改,下一步;
2025-09-13 15:01:11
1055
原创 【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio)
本文介绍 Windows 环境下无需安装 Visual Studio,搭建 Qt6 与 MSVC2022 开发环境的方法,以节省磁盘空间。核心步骤包括:用中科大镜像提速 Qt6 在线安装,需勾选 Qt Creator 17.0.1、MSVC 2022 x64 等组件;配置环境变量,添加 mingw_64、msvc2022_64 及 Qt Creator 的二进制目录;安装 MSVC 2022 编译器与 Windows 10 SDK 并记录版本;配置 Qt Creator 构建套件,可选设置 vcvarsal
2025-09-13 14:35:03
2629
原创 解决Trae中C/C++代码无法跳转的问题
微软近期对VSCode的C/C++插件做了限制,导致非官方IDE(如字节的Trae)无法使用转到定义功能。解决方法:下载旧版C/C++插件(如1.22.10版本),将.vsix文件直接拖入Trae商店界面安装即可恢复该功能。该方法经测试有效。
2025-09-08 15:06:56
5494
4
原创 【Qt】子项目工程创建步骤
本文介绍了Qt项目中创建主项目和子项目的步骤:1)选择子项目目录创建项目;2)自动弹出对话框后,选择"Qt Widgets Application"创建主项目;3)子项目分为三种类型。重点说明了如何将"Shared Library"子项目引入工程,并简要提及"Qt Plugin"用于插件式开发。通过图文结合的方式,展示了项目创建过程中的关键界面和操作步骤。
2025-09-03 13:18:44
199
原创 【Qt】国际化(中英文翻译)——Qt语言家(Linguist)和QTranslator类的简单使用(内含完整源码)
本文介绍了使用Qt Linguist和QTranslator实现中英文切换的方法,包含.pro文件配置翻译资源、通过Linguist工具编辑TS文件生成QM文件、代码中动态加载翻译文件并监听语言变化事件等核心步骤,提供了界面控件绑定与语言切换的具体示例。
2025-09-03 11:17:54
1668
原创 【Qt】bug排查笔记——QMetaObject::invokeMethod: No such method
摘要: 本文记录了在Qt插件开发中遇到的QMetaObject::invokeMethod: No such method错误排查过程。问题源于事件总线订阅时错误的槽函数签名传递方式:使用SLOT(subAppInfo(QVariant))会导致元对象系统将完整签名误认为方法名,而实际需匹配的是纯方法名"subAppInfo"。通过修正为subscribe(topic, receiver, "subAppInfo")解决问题。关键点包括:Q_ARG需省略const/&
2025-09-02 18:49:27
1158
原创 【Qt】QToolBar、QToolButton的常用用法
摘要 Qt 中的 QToolBar 和 QToolButton 是创建工具栏及其按钮的核心组件。QToolBar 支持添加动作、控件、分隔符,并可通过 setMovable、setFloatable 控制停靠行为,支持图标大小、方向等外观定制。QToolButton 专为工具栏设计,支持图标、文本、下拉菜单及可切换状态,其样式可通过 setToolButtonStyle 调整。两种添加按钮方式(addAction 和 addWidget)在样式继承上有区别,后者需手动管理样式。结合使用可实现复杂工具栏功能,
2025-09-02 18:14:05
595
原创 Modbus RTU协议详解(大白话解释,不让你迷糊)
本文介绍了Modbus RTU协议的基础概念、报文结构和通信流程。主要内容包括:1. 四种寄存器类型(离散输入、线圈、输入、保持)的定义和功能码;2. Modbus RTU报文模型(地址、功能码、数据、CRC校验);3. 主机与从机之间的读写操作流程及示例报文,包括单/多寄存器读写请求和响应格式;4. 特殊数据格式说明,如线圈状态的字节存储规则。文章通过具体报文示例,清晰地展示了Modbus RTU协议的通信机制,适合工控领域开发人员快速理解该协议的基本原理和实现方式。
2025-07-20 21:52:39
3825
原创 【C++】C++中关于基类构造函数几个常见的误区
摘要:关于C++继承中基类构造函数调用的常见误区包括:误以为基类构造函数会自动调用(仅无参构造函数会自动调用)、默认参数可省略调用(仍需显式调用)以及在构造函数体内调用(应在初始化列表调用)。正确做法是在派生类构造函数的初始化列表中显式调用基类构造函数,这样操作更稳妥可靠。显式调用是确保继承体系正确初始化的最佳实践。(149字)
2025-07-14 22:11:25
191
原创 【C++】纯虚函数类外可以写实现吗?
摘要:验证虚函数和纯虚函数在类外实现的可行性。代码测试表明:(1)普通虚函数可以在类外实现;(2)纯虚函数在抽象类中声明为=0后,仍可在类外实现,且可通过派生类对象显式调用。测试程序显示两者均可正常执行,证明C++允许在类外为虚函数/纯虚函数提供具体实现。
2025-06-08 00:23:09
429
原创 【SQLite3安装问题】【ubuntu1804】sqlite3 : 依赖: libsqlite3-0 (= 3.22.0-1) 但是 3.22.0-1ubuntu0.6 正要被安装
在Ubuntu 18.04上安装sqlite3时,博主遇到了依赖关系未满足的问题,错误提示显示sqlite3依赖的libsqlite3-0版本为3.22.0-1,而系统中已安装的版本为3.22.0-1ubuntu0.6,导致版本冲突。博主尝试安装最新版libsqlite3-0和libsqlite3-dev均未解决问题。最终,通过强制安装指定版本的libsqlite3-0(3.22.0-1),并锁定该版本以防止自动升级,成功解决了依赖冲突问题,随后顺利安装了sqlite3。
2025-05-17 21:24:52
558
原创 【阅读】认知觉醒
想勤奋,却总是敌不过惰性;想努力,却总是陷入低效的状态;想精进,面前却总是弯路不断;读了很多书,都忘了;付出很多努力都白费了。他们仿佛越使劲越困惑,越努力越迷茫。所谓心智,通俗地说,就是我们看待人和事的态度,以及由此做出的判断与选择。
2025-01-07 23:13:02
608
原创 【Qt】使用正则表达式,从输入字符串中提取所有或第一个符合特定始、末符号的字符串。
使用Qt中正则表达式头文件,封装一个轮子。其功能为:从输入字符串中提取所有符合特定始、末符号的字符串。
2024-10-24 10:53:53
883
原创 【Qt】Qt插件式开发中非常重要的3个宏——Q_DECLARE_INTERFACE、Q_PLUGIN_METADATA和Q_INTERFACES
在Qt插件式开发中,和这3个宏扮演者非常重要的角色,只要使用了Qt官方的插件式开发框架,就必定会使用到这三个宏。笔者对这3个宏总是混淆、记不清楚,今天就总结下来,方便日后查看。用于生命一个接口类型,以便插件能够实现这个接口。这个宏会生成用于接口类型可识别和查询的代码。这里进一步解释3个关键词,便于大家理解(或者以后的我~哈哈哈哈哈,忘的太快)接口类型:即下文示例中的类;识别:通过IID,即下文中的,在插件系统中唯一标识一个接口类型;查询:通过IID在插件系统中查找和加载一个实现了特定接口的插件。
2024-09-02 08:00:00
1831
原创 【Qt】QPluginLoader 类学习
QPluginLoader类在运行时加载插件。提供对Qt插件的访问。Qt插件存储在共享库(如 DLL 文件)中,相比于QLibrary访问的共享库,会检查插件是否与应用程序使用的Qt版本一致;提供对根组件对象 (instance())的直接访问,而无需动手解析C函数。对象的实例操作单个共享库文件,这个共享库文件被称为插件。它以独立于平台的方式提供对插件中功能的访问。要指定要加载的插件,请在构造函数中传递文件名,或者使用方法进行设置。使用类一旦加载成功,插件会保留在内存中,直到所有实例都被卸载
2024-08-13 10:20:57
1581
翻译 【Qt】翻译Qt官方帮助手册中 T qobject_cast(QObject *object) 的描述
翻译qt官方手册中的 T qobject_cast(QObject *object)
2024-08-13 10:11:06
207
原创 【Qt】动态加载DLL之QLibrary类学习(内含完整Demo源码)
QLibrary类用于在运行时加载共享库。一个QLibrary对象实例操作一个单独的共享对象文件(也称为“库”或“DLL”)。QLibrary提供了一种平台独立的方式来访问库中的功能。你可以在构造函数中传递文件名,也可以通过显式设置文件名。在加载库时,如果指定的不是绝对路径,QLibrary会在系统默认的库路径中进行搜索(例如,Unix系统上的反之如果在构造时指定了库的绝对路径,则会优先尝试该路径。
2024-08-07 18:00:45
2027
原创 【Windows】Windows11用户目录下的“图片”文件夹被误删,恢复办法
我在自定义用户目录下“图片”文件夹的位置时不小心误删了该文件夹,具体现象如下图所示:reg add “HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders” /t reg_sz /v “My Pictures” /d “%USERPROFILE%\Pictures”
2024-07-20 17:17:14
1808
原创 【C语言】队列(Queue)C语言实现,栈基本操作,编译通过,已测试,可直接使用
【代码】【C语言】队列(Queue)C语言实现,栈基本操作,编译通过,已测试,可直接使用。
2024-07-06 21:54:51
822
原创 【C语言】栈(stack)C语言实现,栈基本操作,编译通过,已测试,可直接使用
【代码】【C语言】栈(stack)C语言实现,栈基本操作,编译通过,已测试,可直接使用。
2024-07-05 23:21:59
347
原创 【Windows】解决Edge浏览器bing搜索引擎“www.bing.com 重定向次数过多”的问题,ERR TOO MANY REDIRECTS,亲测有效
使用bing搜索时,出现“重定向次数过多”提示,按照提示删除 Cookie 后还是会出现,或者刚删除时可以,不久之后又出现该问题。那么怎么一劳永逸呢?
2024-07-04 17:14:12
27897
15
原创 【Git笔记】Git基础命令实操
本文共主要介绍了以下Git相关基础操作:设置签名、初始化、添加、移除、查看状态、提交、修改、查看日志、版本切换、分支操作(查看、创建、切换、合并)等等……
2024-07-04 16:54:37
1395
原创 【C++】那些年写过的bug <No.002> —— memset()初始化动态成员变量
memset()是一个基于字节的操作,不会调用或其他非POD(平凡标量类型)成员的构造函数或析构函数。这可能导致未定义的行为,特别是对于,会导致内存泄漏或程序崩溃。相反,直接初始化结构体的成员变量是更安全和可靠的做法。
2024-07-02 17:40:18
616
Qt常用DLL组件,windeployqt打包时,缺失的DLL资源(比如MSVC相关),可直接复制本资源
2026-04-15
VScode C/C++插件-V1.22版本 - Trae插件(用于解决Trae中C/C++代码无法跳转的问题)
2025-11-10
VScode C/C++插件-V1.22.10版本(用于解决Trae中C/C++代码无法跳转的问题)
2025-09-08
Qt国际化+Linguist+QTranslator+中英文翻译 示例代码
2025-09-03
QLibrary Demo
2024-08-08
Linux C++ 维护指定目录所占空间大小(自动删除文件、文件夹)
2024-05-28
CSDN动态的这个设计太容易误删了吧
2024-07-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅