Qt 自己提供了插件相关的技术,但并无提供一个通用的插件框架!假若要开发一个较大的 GUI 应用程序,并但愿使其可扩展,那么拥有这样一个插件框架无疑会带来很大的好处。html
根据 深刻理解插件系统 一文,对插件系统有了必定的了解以后,咱们能够很快的构建一个属于本身的 Qt 插件系统。web
| 版权声明:一去、二三里,未经博主容许不得转载。框架
插件系统,能够分为三部分:svg
主系统
经过插件管理器加载插件,并建立插件对象。一旦插件对象被建立,主系统就会得到相应的指针/引用,它能够像任何其余对象同样使用。.net
插件管理器
用于管理插件的生命周期,并将其暴露给主系统。它负责查找并加载插件,初始化它们,而且可以进行卸载。它还应该让主系统迭代加载的插件或注册的插件对象。插件
插件
插件自己应符合插件管理器协议,并提供符合主系统指望的对象。指针
实际上,不多能看到这样一个相对独立的分离,插件管理器一般与主系统紧密耦合,由于插件管理器须要最终提供(定制)某些类型的插件对象的实例。xml
框架的基本程序流,以下所示:htm