一.Qt中的插件
Qt提供了两类API来创建插件:
☆high-level API用于创建Qt自身的扩展,比如说自定义数据库驱动、图像格式、文本编码、样式,等等
☆low-level API用于扩展Qt应用程序
如果你想为Qt Designer提供插件,可以参考Qt Assistant:Qt Designer Manual
1.high-level API
通过子类化合适的插件基类,然后重写一些函数、添加一个宏,就能扩展出一个插件。常用的插件基类包括QSqlDriverPlugin、QStylePlugin、QAudioSystemPlugin等等。
详见Qt Create中提供的例子:Style Plugin Example
2.low-level API
包括以下步骤的应用程序可以通过插件来扩展:
①定义一个只包含纯虚函数的接口类,这些接口用于和插件交互
②使用Q_DECLARE_INTERFACE()宏告将这个接口告知Qt元对象系统
③使用QPluginLoader加载插件
④使用qobject_cast()测试插件是否实现了这个接口
写一个插件包括以下几个步骤:
①声明一个继承自QObject和上面提到的接口
②使用Q_INTERFACES()宏告将这个接口告知Qt元