<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[世转神风的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/silentkeydrop</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; silentkeydrop]]></copyright><item><title><![CDATA[This application failed to start because no Qt platform plugin could be initialized]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156911420</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156911420</guid><author>silentkeydrop</author><pubDate>Tue, 13 Jan 2026 19:12:32 +0800</pubDate><description><![CDATA[删掉release文件夹即可，重行生成就解决了。从git上拉取的代码，出现了该问题。]]></description><category></category></item><item><title><![CDATA[qt-字符串版本与数值版本互转]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156911292</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156911292</guid><author>silentkeydrop</author><pubDate>Tue, 13 Jan 2026 19:08:48 +0800</pubDate><description><![CDATA[通过解析版本字符串结构（去除前缀、分割数字）和字节序列化逻辑（数字转单字节），可实现版本与二进制数据的双向转换。核心在于确保版本号数字在单字节范围内，并正确处理字符串与字节数组的转换细节。]]></description><category></category></item><item><title><![CDATA[linux-嵌入式开发基础-网线直连-局域网传输文件-快速完成文件替换]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156463352</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156463352</guid><author>silentkeydrop</author><pubDate>Wed, 31 Dec 2025 18:11:55 +0800</pubDate><description><![CDATA[指令输入后，通常是可以直接拷贝到开发板中。当然，也有特例，下面是初学者可能会遇到的问题！]]></description><category></category></item><item><title><![CDATA[qt-基础打印-不换行打印]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156463151</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156463151</guid><author>silentkeydrop</author><pubDate>Wed, 31 Dec 2025 18:01:15 +0800</pubDate><description><![CDATA[在Qt中，qDebug()默认自动换行，可通过以下方法禁用换行： 使用QTextStream构建字符串缓冲区后统一输出 通过qSetMessagePattern全局修改消息格式 临时使用noquote()和nospace()控制单次输出 方法1适合复杂格式控制，方法2影响全局输出，方法3适用于临时调整。需注意频繁使用qDebug()会影响性能，调试完成后应移除相关代码。这些方法均跨平台兼容，可根据实际需求选择最合适的方案。]]></description><category></category></item><item><title><![CDATA[VS code 打开bin文件的插件]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156433242</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156433242</guid><author>silentkeydrop</author><pubDate>Tue, 30 Dec 2025 23:04:00 +0800</pubDate><description><![CDATA[VS Code可通过Hex Editor插件编辑.bin文件，支持十六进制和ASCII格式显示及修改。安装方式包括在线市场搜索安装或离线下载.vsix包执行命令行安装。使用时右键选择Hex Editor打开文件，直接修改字节数据并保存。替代方案包括Binary Viewer插件或命令行工具转换编辑。注意事项：编辑前备份文件，大文件可能卡顿，需确保插件版本兼容。该方案为开发者提供了轻量级二进制文件编辑方案。]]></description><category></category></item><item><title><![CDATA[qt-通信协议基础-double转成QbyteArray-小端系统]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156428690</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156428690</guid><author>silentkeydrop</author><pubDate>Tue, 30 Dec 2025 18:25:10 +0800</pubDate><description><![CDATA[摘要：本文介绍了在Qt C++中将双精度浮点数(double)转换为QByteArray的方法。提供了两种实现方案：基础版本直接使用memcpy进行内存复制，保留系统字节序；增强版本通过位移操作支持显式的大端/小端字节序转换。技术要点包括IEEE 754标准的内存布局处理、安全的类型转换设计以及跨平台兼容性考虑。文章还给出了反向转换验证代码、性能优化建议和典型应用场景，适用于需要精确处理浮点数二进制表示的网络通信、硬件接口等场景。]]></description><category></category></item><item><title><![CDATA[qt-通信协议基础-uint64_t转QByteArray-小端系统]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156367446</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156367446</guid><author>silentkeydrop</author><pubDate>Sun, 28 Dec 2025 22:25:47 +0800</pubDate><description><![CDATA[本文介绍了在C++中将uint64_t转换为QByteArray的方法。通过使用memcpy直接复制内存内容，实现了与系统字节序无关的转换，保留原始数据的字节序（小端或大端）。转换默认生成8字节长度的QByteArray，与uint64_t大小一致，也可通过resize()调整长度。代码示例演示了如何转换0x123456789ABCDEF0值并输出十六进制和原始字节表示。]]></description><category></category></item><item><title><![CDATA[qt-uint64_t转QByteArray小端字节序并指定长度-小端系统]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156367211</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156367211</guid><author>silentkeydrop</author><pubDate>Sun, 28 Dec 2025 22:18:23 +0800</pubDate><description><![CDATA[本文介绍了一种在C++中将uint64_t转换为小端字节序QByteArray的方法，支持指定长度和填充方式。通过位操作手动分解uint64_t为小端序字节，并根据目标长度进行填充或截断处理。填充可选择在开头或末尾添加指定字符，截断则保留前N个字节。测试案例展示了不同场景下的转换结果。该方法具有字节序无关性，适用于网络传输等场景，但需注意截断可能导致数据丢失的风险。核心代码提供了灵活的长度控制和填充选项，确保跨平台兼容性。]]></description><category></category></item><item><title><![CDATA[qt-union-联合体基础讲解]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156342000</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156342000</guid><author>silentkeydrop</author><pubDate>Sat, 27 Dec 2025 22:04:16 +0800</pubDate><description><![CDATA[本文介绍了利用C++联合体(union)实现double与字节数组转换的技术。通过定义共享内存的DoubleConverter联合体，将double值转换为quint64类型进行位操作，解决了直接操作double类型的限制。重点解析了大小端处理的原理：大端序将高位字节存储在低地址，小端序则相反。代码示例展示了如何通过移位和掩码操作实现字节顺序控制。文章还讨论了该技术的优势，包括IEEE 754兼容性、平台适应性，并建议注意字节顺序约定和精度问题。]]></description><category></category></item><item><title><![CDATA[qt-通信协议基础-QStirng转QByteArray-进阶操作]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156338727</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156338727</guid><author>silentkeydrop</author><pubDate>Sat, 27 Dec 2025 18:03:41 +0800</pubDate><description><![CDATA[文章探讨了代码编写中考虑字节序转换的重要性，指出随意编码会导致&quot;屎山&quot;问题。提供了一个C++函数示例，演示如何将double类型转换为QByteArray并支持可选字节序（大端/小端）。作者强调优秀代码应具备扩展性，并抛出思考题：如何改进使缓冲区大小能自动调整，而非固定8字节。文章旨在提醒开发者不应停留在初级阶段，而要考虑更完善的实现方案。]]></description><category></category></item><item><title><![CDATA[qt-通信协议基础-QStirng转QByteArray-与字节序互动]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156315287</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156315287</guid><author>silentkeydrop</author><pubDate>Fri, 26 Dec 2025 22:41:20 +0800</pubDate><description><![CDATA[QString 转 QByteArray 的字节序取决于编码方式： UTF-8/Latin1等单字节编码无字节序问题 UTF-16编码时： 默认使用系统字节序（无BOM） 可通过toUtf16(true)添加BOM标识字节序 也可手动处理或使用QDataStream强制指定大小端 系统字节序可通过QSysInfo::ByteOrder查询 关键点：只有多字节编码（如UTF-16）才需考虑字节序，单字节编码无此问题。]]></description><category></category></item><item><title><![CDATA[qt-通信协议基础-固定长度-小端字节序补0x00指导]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156315088</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156315088</guid><author>silentkeydrop</author><pubDate>Fri, 26 Dec 2025 22:31:10 +0800</pubDate><description><![CDATA[摘要：在Qt C++小端字节序中，数据不足时应在高位（右侧）补0x00。小端序将最低有效字节存储在低地址，补零需保持低位字节不变（如0x12补为4字节应为0x12 0x00 0x00 0x00）。推荐使用QDataStream设置小端序自动处理，避免手动操作错误。调试时可用qDebug()输出字节序验证结果。]]></description><category></category></item><item><title><![CDATA[qt-float转QByteArray-二进制存储-数据存储（IEEE 754标准）]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156278673</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156278673</guid><author>silentkeydrop</author><pubDate>Thu, 25 Dec 2025 21:26:15 +0800</pubDate><description><![CDATA[本文介绍了在Qt C++中将float转换为IEEE 754标准4字节QByteArray的方法。通过memcpy直接拷贝内存实现高效转换，核心代码仅需5行。重点解析了内存操作原理、字节序处理（小端/大端转换）和数据验证技术，并提供了跨平台增强方案。文章还涵盖性能优化、内存安全注意事项及典型应用场景，如网络传输和硬件交互。示例代码可直接用于实际项目，完整展示了从基础实现到工业级应用的完整解决方案。]]></description><category></category></item><item><title><![CDATA[qt-文件自动按编号命名]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156278578</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156278578</guid><author>silentkeydrop</author><pubDate>Thu, 25 Dec 2025 21:20:00 +0800</pubDate><description><![CDATA[本文介绍了一种在Qt C++中实现文件递增编号创建的方案。通过扫描目标目录，使用正则表达式匹配已存在的编号文件，提取最大编号后加1生成新文件名。核心功能包括自动目录创建、文件名模式匹配（如data_file_1.txt）、编号递增逻辑和文件创建处理。方案支持自定义基础名、扩展名和存储路径，并考虑了目录不存在、无匹配文件等边界情况。同时提供了扩展优化建议，如前导零格式化、添加时间戳前缀以及多线程安全处理。该实现能有效避免文件覆盖，适用于需要持续生成不重复文件的场景。]]></description><category></category></item><item><title><![CDATA[qt-在字符串中指定位置插入字符串]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156239112</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156239112</guid><author>silentkeydrop</author><pubDate>Wed, 24 Dec 2025 18:12:42 +0800</pubDate><description><![CDATA[Qt C++中的QString::insert()方法支持在指定位置前插入内容，position参数表示插入点左侧字符的索引。该方法可结合indexOf()定位子串位置，自动处理越界情况（负数插开头，超长插末尾）。支持链式调用，但对频繁操作建议先用QByteArray优化性能。相比prepend/append方法，insert()提供更精确的位置控制，能正确处理多字节字符。replace()则用于替换而非插入操作。该方法可高效实现字符串的精确插入需求。]]></description><category></category></item><item><title><![CDATA[QEventLoop与QTimer联动]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156239011</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156239011</guid><author>silentkeydrop</author><pubDate>Wed, 24 Dec 2025 18:00:43 +0800</pubDate><description><![CDATA[当QTimer循环间隔（10ms）小于事件处理时间（50ms）时，会导致信号缺失而非堆积。由于单线程事件循环的阻塞特性，实际触发次数会大幅减少（1秒内从预期100次降至20次）。解决方案包括：优化业务逻辑缩短处理时间、使用线程池异步处理、调整定时器间隔或改用单次触发模式。核心在于避免事件循环被阻塞，确保定时信号能被及时处理。]]></description><category></category></item><item><title><![CDATA[QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156206043</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156206043</guid><author>silentkeydrop</author><pubDate>Tue, 23 Dec 2025 22:20:54 +0800</pubDate><description><![CDATA[摘要：Qt中重复绑定UDP套接字时会出现状态冲突错误，主要因套接字已处于BoundState而bind()要求UnconnectedState。解决方案包括：1)绑定前关闭套接字释放资源；2)检查状态机合规操作；3)设置端口重用选项。关键改进点在于状态检查、资源管理和错误处理，需验证端口占用情况确保正常释放。建议添加调试输出并使用netstat命令观察端口状态。]]></description><category></category></item><item><title><![CDATA[Ubuntu 24.04-国内镜像源替换]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156202034</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156202034</guid><author>silentkeydrop</author><pubDate>Tue, 23 Dec 2025 18:08:09 +0800</pubDate><description><![CDATA[本文介绍如何将Ubuntu 24.04的软件源替换为阿里云镜像。首先备份原始配置，然后修改主仓库和安全源的URIs为阿里云地址。验证配置后执行apt update确认更新源是否生效。文中还提供了清华大学、中科大等国内镜像选项，并强调Ubuntu 24.04必须使用DEB822格式配置文件。注意事项包括保持密钥路径不变、网络超时处理等。替换后可提升下载速度，备份文件可用于恢复原始配置。]]></description><category></category></item><item><title><![CDATA[qt-kits-警告：No C++ compiler,无法正常解析工程项目.pro文件]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156161882</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156161882</guid><author>silentkeydrop</author><pubDate>Mon, 22 Dec 2025 20:03:17 +0800</pubDate><description><![CDATA[摘要：在Ubuntu 24.04系统中使用Qt 5.12.9时遇到项目无法打开的问题，通过终端安装gcc/g++和lsb-core等依赖包后仍报错。尝试修改软件源为清华/阿里云镜像未解决问题，最终安装lsb-release后成功打开.pro文件。文章还关联了关于Qt编译报错与lsb-core影响的扩展内容。]]></description><category></category></item><item><title><![CDATA[qt-初步编译运行报错-When executing step “Make“-无法启动进程“make“]]></title><link>https://blog.youkuaiyun.com/silentkeydrop/article/details/156162617</link><guid>https://blog.youkuaiyun.com/silentkeydrop/article/details/156162617</guid><author>silentkeydrop</author><pubDate>Mon, 22 Dec 2025 20:01:30 +0800</pubDate><description><![CDATA[本文主要解决Qt编译过程中出现的&quot;无法启动make进程&quot;问题。原因可能是缺少make编译器或依赖库（如lsb-core）。解决方案包括：1)安装编译依赖项（build-essential等）；2)验证Qt构建套件配置路径；3)检查项目.pro文件配置；4)优化软件源为国内镜像加速下载。最终通过qmake重新生成Makefile解决问题。高版本依赖通常兼容低版本，无需强制安装LSB模块。]]></description><category></category></item></channel></rss>