QT框架-----CTK

    嗨咯呀,最近作为一名初级QT开发工程师进入到了一家新公司,刚进公司肯定是先熟悉公司代码以及框架啦,由于此前未曾有接触过框架,所以刚开始的时候看起框架来还是很晕乎乎的,话不多说,直接记录新公司使用的开发框架。

---CTK插件框架,由名可知,此框架的核心便是插件,使用此框架进行开发的核心就是将每个模块都划分成不同的插件,在需要进行使用的时候将其加载进来并使用,这样能使系统开发更加模块化、便于管理,也完美的匹配软件开发中高聚集低耦合的要求。

使用过QT的都知道,一般情况下,类与类、类与界面之间的数据交换、事件触发我们都是使用信号与槽的,但是在CTK框架中是使用信号与槽publishSignal(向ctk框架注册信号) + subscribeSlot(通过主题来订阅已在ctk框架中注册过的信号)、 类-sendevent + handleevent(此函数的类需要继承ctkEventHandler)。在通信过程中使用ctkDictionary传输数据

第一步:插件所使用类的创建

插件的创建一般是需要用到两个类的:1、激活类  2、插件类

1、在激活类中实现start和stop两个函数,在start函数中定义唯一的插件类对象并使用其相关方法和变量等

2、在激活类中进行发布/订阅信号

激活类: 

QT框架-----CTK_第1张图片

QT框架-----CTK_第2张图片

插件类:

QT框架-----CTK_第3张图片

QT框架-----CTK_第4张图片

第二步:插件属性文件创建

首先添加一个资源文件

QT框架-----CTK_第5张图片

 将资源文件的前缀设置为:导出的文件名

QT框架-----CTK_第6张图片

 在HelloCTK文件夹中新建MANIFEST.MF文件并导入到资源文件夹中:

QT框架-----CTK_第7张图片

第三步:插件的创建:

 如果有需要的话可以重定义一下插件生成后的路径以及名称,安装插件的时候会用到QT框架-----CTK_第8张图片

执行qmake之后进行构建就可以在刚刚指定的路径下生成指定名称的插件了哦。

 QT框架-----CTK_第9张图片

 这样就完成插件的创建了哦,在DESTDIR的路径下可以找到相关插件的文件夹

第四步:插件的导入与开启

1、初始化并开启ctk框架

QT框架-----CTK_第10张图片

 2、安装插件 

QT框架-----CTK_第11张图片

 3、开启插件

QT框架-----CTK_第12张图片

第五步:之前说过在ctk框架中插件之间的通信是有两种方式,这里就只给大家列举最常用的一种:信号与槽 

信号发布与订阅:使用ctkEventAdmin进行处理信号与槽的订阅关系

publishSignal(信号发出对象,信号,信号主题,信号发出方式)

subscribeSlot(接受对象,槽函数,订阅的信号的主题,槽函数处理方式);信号与槽都是多对多的关系

QT框架-----CTK_第13张图片

 信号数据:

槽函数接受信号传过来的数据并进行相关处理:

 QT框架-----CTK_第14张图片

 看到了几篇还不错的文章CTK文章分享一下:

 (40条消息) CTK Plugin Framework插件框架学习4--插件通信【事件监听】_ctk框架_贝勒里恩的博客-CSDN博客(40条消息) CTK Plugin Framework插件框架学习2--创建插件_ctk插件_贝勒里恩的博客-CSDN博客

你可能感兴趣的:(qt,c++)