12:高级篇 - CTK 事件管理机制(sendEvent/postEvent)
Posted 一去丶二三里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12:高级篇 - CTK 事件管理机制(sendEvent/postEvent)相关的知识,希望对你有一定的参考价值。
作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
在 CTK Plugin Framework 中,插件间的通信是通过 EventAdmin 来完成的。EventAdmin 是一种基于发布/订阅的方式,一个插件订阅某一主题之后,另一个插件发布一个与该主题相关的事件,从而达到通信的目的。
EventAdmin 提供了两种方式,来进行事件管理:
sendEvent()/postEvent() + ctkEventHandler
:sendEvent()
以同步方式发送,而postEvent()
则以异步方式发送。signal/slot
:同步或异步发送,取决于发射信号时使用的Qt::ConnectionType
。
下面,先来分享第一种方式。
准备环境
要进行插件间通信,离不开 EventAdmin,所以首先要确保 liborg_commontk_eventadmin.dll
已经编译成功。编译方式,请参考《04:进阶篇 - 编译 CTK》。
然后,创建几个插件,让它们彼此之间可以通信。以发布博客为例,新建两个插件:
- BlogManagerÿ
以上是关于12:高级篇 - CTK 事件管理机制(sendEvent/postEvent)的主要内容,如果未能解决你的问题,请参考以下文章