摘要: [TOC] Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识。 相关内容如下: 1. "How to Create Qt Plugins" 2. "\ Defining Plugins" 3. "Echo Plugin Example" 4. "QPlu 阅读全文
posted @ 2020-05-15 19:47 codeForFamily 阅读(502) 评论(0) 推荐(0) 编辑
摘要: c/c++调用matlab的matOpen()出现异常 最近项目需要在Qt中调用matlab的mat文件,经过一番查找,使用matlab的matOpen()接口来读取mat文件,并解析其中的结构体来获取数据。 编码后在debug模式下调试一切ok后,我编译了release版本,并把matlab的的所 阅读全文
posted @ 2020-05-15 19:45 codeForFamily 阅读(995) 评论(0) 推荐(0) 编辑
摘要: [TOC] Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在qt creator源码中出现了大量的QLatin1String。下面我们来介绍下区别。 QLatinString 详细介绍 我们首先来看 "QLatinString" 。类详细介绍如下: QString的许多成员函数都 阅读全文
posted @ 2020-05-10 20:18 codeForFamily 阅读(1201) 评论(0) 推荐(1) 编辑
摘要: [TOC] 统计接口实现 我们知道,插件架构必不可少的是定义接口类,即抽象基类,描述用户需要自定义实现的内容。此外,一般还有一个管理器类,对接口类的所有实现类进行管理,并调用其中的接口进行。源码中有两种方式来获取所有实现类。 一般,我们会把所有实现的列表g_simples,放在管理类中用于管理。 1 阅读全文
posted @ 2020-05-09 19:43 codeForFamily 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 内外命名空间 QtCreator源码中,每一个子项目都有内外两层命名空间,一个是外部的,一个是内部的。 示例如下 其中 1. ExtensionSystem是外部的,其中的类等内容会被EXTENSIONSYSTEM_EXPORT导出,用户使用时可见。 2. ExtensionSystem::Inte 阅读全文
posted @ 2020-05-07 19:10 codeForFamily 阅读(425) 评论(0) 推荐(0) 编辑
摘要: [TOC] global头文件 插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用。在qt creator的源码中,存在固定的导入导出模式。 global.h 对于每个库和插件,都有一个xx_global.h头文件,其中xx为库或插件名。示例如下 这就很明显了,XX_LIBRARY作为开 阅读全文
posted @ 2020-05-06 20:51 codeForFamily 阅读(480) 评论(0) 推荐(0) 编辑
摘要: [TOC] d指针和q指针 我们在 "类成员名称" 和 "使用d指针" 中,已经介绍过了d指针。 这是一个绝妙的技巧,能够在不破坏二进制兼容性的情况下将新的私有数据成员添加到类中。此外,它还能保持头文件的干净,并隐藏具体的实现,加速编译。 简单示例 Foo类中只暴露了接口,具体的实现和数据都隐藏到了 阅读全文
posted @ 2020-04-19 13:46 codeForFamily 阅读(1230) 评论(0) 推荐(0) 编辑
摘要: Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解。 "Qt Core" Qt Core特征: "The Meta Object System" "The Property System" "Object Model" "O 阅读全文
posted @ 2020-04-17 20:04 codeForFamily 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 前置基础介绍 在继续我们的源码学习之前,我们在这里花费一章节来学习一些基础的 。 这些编码范式在后面的几乎所有的源码中都会用到。因此,在这里提前进行介绍。 一方面,有助于理解源码,另一方面,也可以用到自己的日常编码中。 阅读全文
posted @ 2020-04-12 17:23 codeForFamily 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 依赖分析图 我们对库和插件的依赖性进行分析,并画图如下,稍微省略了一些插件,画出来太乱了,核心的都在图中了。 阅读全文
posted @ 2020-04-12 17:21 codeForFamily 阅读(408) 评论(0) 推荐(0) 编辑