<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[刘军的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lujunql</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lujunql]]></copyright><item><title><![CDATA[CMake 生成Visual Studio 2022工程---第四章.Eclipse Paho MQTT CPP]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/158739221</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/158739221</guid><author>lujunql</author><pubDate>Fri, 06 Mar 2026 16:34:44 +0800</pubDate><description><![CDATA[EclipsePahoMQTTCPP是MQTT协议的C++客户端库，支持MQTTv3.1、v3.1.1和v5版本，提供TCP、SSL/TLS、WebSockets等多种连接方式。文章详细介绍了在Windows系统下使用VisualStudio2022编译安装该库的步骤：1)下载源码并配置目录结构；2)使用CMake生成VS工程；3)编译生成Release版本；4)执行安装命令。安装完成后可在C:\ProgramFiles\PahoMqttCpp目录下找到库文件，并通过提供的示例程序测试MQTT消息收发功能。]]></description><category></category></item><item><title><![CDATA[CMake 生成Visual Studio 2022工程---第三章.Eclipse Paho C]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/158734803</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/158734803</guid><author>lujunql</author><pubDate>Fri, 06 Mar 2026 13:01:11 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了Eclipse Paho C（MQTT协议C语言客户端库）1.3.16版本的安装配置过程。主要内容包括：1）下载解压源码至D:\lib目录；2）使用CMake配置Visual Studio 2022工程，设置OpenSSL库路径等关键参数；3）编译生成Release版本库文件；4）通过命令行完成库安装；5）提供使用示例测试，演示MQTTAsync_publish和MQTTAsync_subscribe功能，并与emqx-5.3.2消息服务器交互验证。文中包含具体配置截图和资源下载链接。]]></description><category></category></item><item><title><![CDATA[CMake 生成Visual Studio 2022工程---第二章.libssh2]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/158582238</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/158582238</guid><author>lujunql</author><pubDate>Mon, 02 Mar 2026 19:06:38 +0800</pubDate><description><![CDATA[本文介绍了libssh2（SSH2协议的C语言实现库）的编译与使用指南。主要内容包括：1）下载libssh2-1.11.1源码并配置CMake工程；2）详细说明Visual Studio 2022下的编译过程，包括OpenSSL和zlib等依赖库的配置；3）提供关键API函数说明，如会话初始化、认证、通道操作等；4）给出MFC测试工程示例，演示如何连接Linux服务器执行SSH命令。文中包含完整的配置参数和资源下载链接，为开发SSH2客户端应用提供实用参考。]]></description><category></category></item><item><title><![CDATA[CMake 生成Visual Studio 2022工程---第一章.准备]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/158539651</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/158539651</guid><author>lujunql</author><pubDate>Sun, 01 Mar 2026 15:26:32 +0800</pubDate><description><![CDATA[本文详细介绍了使用CMake在Visual Studio 2022中构建C/C++函数库的完整流程。首先讲解了CMake(3.24.0-rc5)、OpenSSL(3.5.5)和zlib(1.3.2)等工具和库的下载安装步骤，重点演示了如何通过CMake生成zlib的VS2022工程文件并进行编译。文章还提供了zlib压缩/解压缩函数的使用方法，包括compress()和uncompress()函数的参数说明及返回值含义，并给出了将zlib库集成到MFC对话框测试工程的实践指导。所有相关资源均提供了下载链接，]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (七)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519653</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519653</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 09:04:15 +0800</pubDate><description><![CDATA[本文来源：清源游民


Delegate  类

概念

与MVC模式不同，model/view结构没有用于与用户交互的完全独立的组件。一般来讲， view负责把数据展示
给用户，也处理用户的输入。为了获得更多的灵性性，交互通过delegagte执行。它既提供输入功能又负责渲染view中的每个数据项。 控制delegates的标准接口在QAbstractItemDelegate类中]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (六)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519599</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519599</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 09:01:29 +0800</pubDate><description><![CDATA[本文来源：清源游民


在views中选择数据项

概念

用于新的view类中的选择模型比Qt3中的模型有了很大的改进。它为基于model/view架构的选择提供了更为全面的描述。尽管对提供了的views来说，负责操纵选择的标准类已经足以应付，但是你也可以创建特定的选择模型来满足你特殊的需求。
关于在view被选择的数据项的信息保持在QItemSelectionModel类的实例]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (五)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519577</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519577</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 08:58:01 +0800</pubDate><description><![CDATA[本文来源：清源游民


View 类

概念

在model/view架构中，view从model中获得数据项然后显示给用户。数据显示的方式不必与model提供的表示方式相同，可以与底层存储数据项的数据结构完全不同。
内容与显式的分离是通过由QAbstractItemModel提供的标准模型接口，由QAsbstractItemview提供的标准视图接口共同实现的。普遍使用model]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (四)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519553</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519553</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 08:55:29 +0800</pubDate><description><![CDATA[本文来源：清源游民


创建新的Models

介绍
model/view组件之间功能的分离，允许创建model利用现成的views。这也可以使用标准的功能 图形用户接口组件像QListView,QTableView和QTreeView来显示来自各种数据源的数据为。
QAbstractListModel类提供了非常灵活的接口，允许数据源以层次结构的形式来管理信息，也允许以某种
方式]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (三)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519547</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519547</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 08:51:39 +0800</pubDate><description><![CDATA[本文来源：清源游民


Model类

基本概念
在model/view构架中，model为view和delegates使用数据提供了标准接口。在Qt中，标准接口QAbstractItemModel类中被定义。不管数据在底层以何种数据结构存储，QAabstractItemModel的子类会以层次结构的形式来表示数据，结构中包含了数据项表。我们按这种约定来访问model中的数据项，但这个]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (二)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519539</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519539</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 08:49:25 +0800</pubDate><description><![CDATA[本文来源：清源游民


为使用Models与views热身

介绍
Qt提供了两个标准的models:QStandardItemModel和QDirModel。QStandardItemModel是一个多用途的
model，可用于表示list,table,tree views所需要的各种不同的数据结构。这个model也持有数据。QDirModel
维护相关的目录内容的信息，它本身不]]></description><category></category></item><item><title><![CDATA[Qt Model/View 学习笔记 (一)]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42519529</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42519529</guid><author>lujunql</author><pubDate>Thu, 08 Jan 2015 08:46:57 +0800</pubDate><description><![CDATA[本文来源 ：清源游民


介绍

Qt 4推出了一组新的item view类，它们使用model/view结构来管理数据与表示层的关系。这种结构带来的
功能上的分离给了开发人员更大的弹性来定制数据项的表示，它也提供一个标准的model接口，使得更多的
数据源可以被这些item view使用。这里对model/view的结构进行了描述，结构中的每个组件都进行了解释，
给出了一些例子说]]></description><category></category></item><item><title><![CDATA[QWT 在VS2010下安装与使用]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42493341</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42493341</guid><author>lujunql</author><pubDate>Wed, 07 Jan 2015 16:04:31 +0800</pubDate><description><![CDATA[一，简介：
     QWT，全称是Qt Widgets for Technical Applications，是一个基于LGPL版权协议的开源项目，可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类，其目标是以基于2D方式的窗体部件来显示数据， 数据源以数值，数组或一组浮点数等方式提供，
 输出方式可以是Curves（曲线），Slider（滚动条），Dials（圆盘），C]]></description><category></category></item><item><title><![CDATA[解析Qt自带的Style示例]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42421503</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42421503</guid><author>lujunql</author><pubDate>Mon, 05 Jan 2015 13:46:57 +0800</pubDate><description><![CDATA[本文转自chenlong12580的专栏    点击打开链接



在之前的QStyle类参考一文中我们介绍到实现自定义样式有两种方法：静态方法和动态方法。我们先介绍静态方法：也就是继承已经存在的类，不是QStyle，通常是QCommonStyle或者是QWindowsStyle等等。然后实现其中的虚函数，重写自己需要修改的部分代码。至于选择哪个基类来继承完全取决用户，通常选择和自己所期望]]></description><category></category></item><item><title><![CDATA[how to use style sheets in Qt-----Style Sheet Example instruction]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42419365</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42419365</guid><author>lujunql</author><pubDate>Mon, 05 Jan 2015 13:26:03 +0800</pubDate><description><![CDATA[《Qt Examples and demos 》中有一个关于Qt界面美化和样式风格使用的例子《Style Sheet Example》，该例子很好的展现了Qt进行界面美化的功能和特点（版本：Qt4.7）(图1)。]]></description><category></category></item><item><title><![CDATA[QT Signals & Slots]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/42168583</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/42168583</guid><author>lujunql</author><pubDate>Fri, 26 Dec 2014 10:35:08 +0800</pubDate><description><![CDATA[Signals & Slots




Signals and slots are used for communication between objects. The signals and slots mechanism is a central feature of Qt and probably the part that differs most from the featu]]></description><category></category></item><item><title><![CDATA[软件经济学五：创建高效率的团队]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/21404957</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/21404957</guid><author>lujunql</author><pubDate>Mon, 17 Mar 2014 19:56:40 +0800</pubDate><description><![CDATA[﻿﻿
本文来源：谢老师的博客






我们已经从各个层面讨论了软件经济学对于过程改进的影响，但是还有一个最重要的因素也是最困难的问题需要分析，那就是：在任何情况下，团队是决定项目经济效益的最重要因素。当项目开发出现拖延、质量低下等等问题的时候，我们可以考虑，这些问题的出现，很大程度上是由于机构对团队重要性的误解造成的。经验表明，在大部分情况下，处于灾难项目的团队一定存在这样或那]]></description><category></category></item><item><title><![CDATA[软件经济学四：改进软件开发过程]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/21385959</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/21385959</guid><author>lujunql</author><pubDate>Mon, 17 Mar 2014 14:24:19 +0800</pubDate><description><![CDATA[﻿﻿
本文来源：谢老师的博客






现实中的软件项目过程与计划都是极为复杂的，他们象蛛网一样既互相支持又互相影响。在整个过程体系中，既有并行关系，又有串行关系。而且，随着项目越来越大，计划中所增加的管理性步骤也就越来越多，管理成本越来越高。如何建立合理的过程体系？如何降低管理成本？如何在变动的环境下而不至于发生混乱？事实上，过程体系越复杂，应变能力就越差，但是没有合理的过程，]]></description><category></category></item><item><title><![CDATA[软件经济学三：降低软件规模或者复杂度]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/21385885</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/21385885</guid><author>lujunql</author><pubDate>Mon, 17 Mar 2014 14:22:52 +0800</pubDate><description><![CDATA[﻿﻿
本文来源：谢老师的博客






我们已经讨论过，由于软件特有的非规模经济特点，提高软件开发经济效益第一个层面的手段，就是尽可能降低软件开发的规模和复杂度。能够对于降低总体规模和复杂度最好的技术包括：管理范围、以独立单元为中心开发、基于组件的开发以及利用面向服务的架构来提升抽象度。
 


    1，管理范围
 
    我们通常用一组用例、特性或者需求来定义]]></description><category></category></item><item><title><![CDATA[软件经济学二：用软件经济学的观点来定义问题]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/21385731</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/21385731</guid><author>lujunql</author><pubDate>Mon, 17 Mar 2014 14:21:07 +0800</pubDate><description><![CDATA[﻿﻿
本文来源：谢老师的博客








当一个企业要进行过程改进的时候，首先要做的事情就是发现和定义问题，然后针对问题找出解决方案。问题很多，但判断问题需要有个基本的界限，那么这个界限是什么呢？有的企业说我们的文档不标准，也有的说我们的过程不标准，还有的说我们的做事风格不标准。是，这些都是问题，但根本的一条，企业进行软件开发的目的是提高经济效益。过程改进的目的不仅仅是写漂]]></description><category></category></item><item><title><![CDATA[软件经济学一：用经济学观点指导软件过程改进]]></title><link>https://blog.youkuaiyun.com/lujunql/article/details/21385517</link><guid>https://blog.youkuaiyun.com/lujunql/article/details/21385517</guid><author>lujunql</author><pubDate>Mon, 17 Mar 2014 14:17:19 +0800</pubDate><description><![CDATA[本文来源：谢老师的博客
在21世纪的前十年中，软件工程方法发生了并继续发生深刻而又意义深远的变迁。软件的特征越来越被大多数人所看清，人们曾经认为，只要按照在建筑业或者制造业已经被证明是成功的管理方法，就可以使软件开发走向成功，但事实却让人气绥：进度滞后、项目失败、即使项目完成了用户还是不满意，结果很快导致商业机会的丧失，这些都严重困扰着软件工程界。为了改善这种状况，几乎所有的软件企业都在]]></description><category></category></item></channel></rss>