一.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元对象系统 ③使用Q_PLUGIN_METADATA()宏导出插件 ④编译插件,注意.pro文件的写法 详见Qt Create中提供的例子:Echo Plugin E