<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[king_kl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/king_kl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; king_kl]]></copyright><item><title><![CDATA[一个简单的modbus测试工具]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/169164294</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/169164294</guid><author>king_kl</author><pubDate>Mon, 26 Oct 2026 16:33:48 +0800</pubDate><description><![CDATA[上位机modbus协议，自定义协议]]></description><category></category></item><item><title><![CDATA[WSL2+Qt5.15.2使用QSerialPort进行串口通信崩溃问题解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/163264542</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/163264542</guid><author>king_kl</author><pubDate>Tue, 28 Jul 2026 10:39:38 +0800</pubDate><description><![CDATA[崩溃问题出在 qt_readlink->linux api—::readlink->>>readlink_chk,此处需要查看linux系统源码。且Qt5.15.18与5.15.2没有太大变化，仅限于修改issue。建议是直接使用qt5.15.18不再继续折腾。此处尝试手动编译qt5.15.2 带调试信息的源码,使用编译指令 -g -O0,禁用优化。最直接的办法切换QT源码版本使用Qt新版 5.15.18直接编译静态库，调试正常，未出现崩溃。使用GDB进行调试得出如下崩溃问题。]]></description><category></category></item><item><title><![CDATA[QSettings对特殊编码setValue的排序处理]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/150921283</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/150921283</guid><author>king_kl</author><pubDate>Wed, 27 Aug 2025 11:29:38 +0800</pubDate><description><![CDATA[2.实线readIniFunc和writeIniFunc，read就是读文件，write需要重新排序。1.继承QSettings，并重新定义读写方法并注册。]]></description><category></category></item><item><title><![CDATA[QT访问ACCESS数据库(代码直接可用，不使用ODBC数据源)解决方法]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/150758591</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/150758591</guid><author>king_kl</author><pubDate>Mon, 25 Aug 2025 09:00:38 +0800</pubDate><description><![CDATA[QT访问ACCESS数据库(代码直接可用，不使用ODBC数据源)解决方法]]></description><category></category></item><item><title><![CDATA[【无标题】QML与WEB HTML 界面与逻辑分开交互实例]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/150758079</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/150758079</guid><author>king_kl</author><pubDate>Mon, 25 Aug 2025 08:46:23 +0800</pubDate><description><![CDATA[QML与WEB HTML交互实例]]></description><category></category></item><item><title><![CDATA[QML 界面与逻辑分离 Timer的onTiriggered访问不到导出的QML控件变量处理，Canvas自定义QML变量实线可直接使用的代码]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/150633775</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/150633775</guid><author>king_kl</author><pubDate>Sat, 23 Aug 2025 08:33:18 +0800</pubDate><description><![CDATA[canvas自定义控件绘制详细， canvas自定义控件UI与界面分开处理逻辑  Timer在QML使用中UI与逻辑分离时使能正确使用的办法]]></description><category></category></item><item><title><![CDATA[QT对同步函数的异步使用方法]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148609349</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148609349</guid><author>king_kl</author><pubDate>Thu, 12 Jun 2025 14:23:27 +0800</pubDate><description><![CDATA[QT中调用一些 同步函数 为防止阻塞窗口一般都会把函数放在QThread里面，这里一般有两种情况，第一种是继承QThread在内部执行，第二种是继承Qobject然后 直接object->moveToThread执行。都可以实现但是都需要额外写一些类来协助。QT也提供了另外的方法来解决这个问题，并且用起来简单不需要做额外的工作。那就是QConcurrent::run函数。QConcurrent::run会直接把函数放在线程池中执行。这种看来也简单不需要在继承或者motoThread。]]></description><category></category></item><item><title><![CDATA[QT异步函数的同步使用方法]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148608968</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148608968</guid><author>king_kl</author><pubDate>Thu, 12 Jun 2025 14:07:54 +0800</pubDate><description><![CDATA[使用QEventLoop就可以模拟同步执行，当然application 的processEvent也可以，此时的同步非绝对同步，绝对同步就是同步函数执行的时候窗口不能动你点击的时候窗口显示无响应。这个类似于win下的getmessage消息循环，消息还在执行，只是函数等到执行完后再返回。执行完就会立即返回，我们想同步拿结果就拿不了，所以用eventloop启动消息循环，等待get完成，就做到了模拟同步。很多人都会，只是你问他们，他们都会让你百度去，这里给出简单的全部解决方法，大家可以快速上手。]]></description><category></category></item><item><title><![CDATA[QWebView建立后能加载出来页面却不能点击解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148606651</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148606651</guid><author>king_kl</author><pubDate>Thu, 12 Jun 2025 11:38:40 +0800</pubDate><description><![CDATA[项目中需要内嵌一个页面和一个跳转页面，即微信扫码的页面，结果发现创建webview后怎么点击页面连接都无效，尝试使用QWebSettings设置完了所有的属性都不行。后面查找原因发现一个可以跳转的方法。使用QWebPage的setLinkDelegationPolicy方法，然后处理linkClicked信号就可以打开了。]]></description><category></category></item><item><title><![CDATA[QT创建透明图片 简单好用解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148605404</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148605404</guid><author>king_kl</author><pubDate>Thu, 12 Jun 2025 10:58:48 +0800</pubDate><description><![CDATA[开发过程中，经常需要使用各种图片来贴合界面。大公司一般有UI人员单独作图，很多小公司UI人员不稳定，或者很忙，你只需要改动很小的图片可能就会拖很久，所以做软件开发的人一般要自己拥有处理图片的能力。windows下开发使用gdi+ ，gdi配合双缓冲使用DC 设置transparent就能做出各种需要的图片，拉伸或者缩小都很简单。当然这些在QT下就更容易了。想要做出更多元素的背景透明图片就在此基础上进行一定的改造就可以。比如做一个透明背景的radiobutton背景图;]]></description><category></category></item><item><title><![CDATA[Qt SerialPort串口通信以及串口文件传输解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148578496</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148578496</guid><author>king_kl</author><pubDate>Wed, 11 Jun 2025 09:50:44 +0800</pubDate><description><![CDATA[因此最可靠的方法是直接检查缓冲区数据量，这样既能确保准确性，也能避免程序卡死。读取的时候无论阻塞还是飞阻塞都需要检查是否有数据可读，必要时需要设置readBufferSize即当串口缓冲区的数据达到一个值之后就会通知可读在读，因为有时候不达到缓冲区设置大小，readyread不会发出。QT要求每个对象都有相应的生存线程，即对象依附线程，主流AI给的方案能用，但依旧存在object创建线程与运行线程不匹配的问题，项目可以用，但是有些问题不解决可能会给后续不同的人使用带来麻烦。]]></description><category></category></item><item><title><![CDATA[QFtp能login但是不能get解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148554678</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148554678</guid><author>king_kl</author><pubDate>Tue, 10 Jun 2025 10:21:05 +0800</pubDate><description><![CDATA[于是到QT的安装目录拿出了QT源码目录base/src/network/access里的qftp.cpp和_p.h文件，编译完使用时发现使用被动模式时服务器建立传输通道后返回的IP是内网IP，所以客户端连接不了，很多时候主动模式不方便。使用mingw-make直接编译就可以，不过可能这个没有编译进OPENSSL，如果需要SSL就需要后续在进行编译，希望对大家有所帮助。找到问题的原因就很好解决了，在这里判断一下如果是内网IP就直接强制使用原来的IP，即你能登录成功的服务器IP。等到超时也没有反应。]]></description><category></category></item><item><title><![CDATA[QSSH connecttohost直接无返回，无反应解决以及源码编译 with BOTAN2 动态 静态库编译]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148553362</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148553362</guid><author>king_kl</author><pubDate>Tue, 10 Jun 2025 09:51:29 +0800</pubDate><description><![CDATA[QSSH connectToHost无反应解决，BOTAN2以及QSSH的动态，静态编译]]></description><category></category></item><item><title><![CDATA[libssh2_channel_read阻塞调用不返回0的解决方案]]></title><link>https://blog.youkuaiyun.com/king_kl/article/details/148547851</link><guid>https://blog.youkuaiyun.com/king_kl/article/details/148547851</guid><author>king_kl</author><pubDate>Tue, 10 Jun 2025 09:01:05 +0800</pubDate><description><![CDATA[libssh2_channel_read阻塞调用时（pty模式）不返回0的解决方案]]></description><category></category></item></channel></rss>