作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
不仅 Qt 本身可以通过插件进行扩展,而且 Qt 应用程序也可以通过插件来扩展,这需要应用程序使用 QPluginLoader
检测和加载插件。在这种情况下,插件可能提供任意功能,不限于数据库驱动程序、图像格式、文本编解码器、样式以及扩展 Qt 功能的其他类型的插件。
扩展 Qt 应用程序
编写扩展 Qt 应用程序的插件,涉及以下步骤:
- 声明一个继承自
QObject
和插件想要提供的接口的插件类 - 使用
Q_INTERFACES()
宏来告诉 Qt 元对象系统有关接口的情况 - 使用
Q_PLUGIN_METADATA()
宏导出插件 - 使用合适的
.pro
文件构建插件
通过插件使应用程序可扩展,涉及以下步骤:
- 定义一组用于与插件通信的接口(只有纯虚函数的类)
- 使用
Q_DECLARE_INTERFACE()
宏来告诉 Qt 元对象系统有关接口的情况<