• 4624阅读
  • 0回复

[提问]关于插件 [复制链接]

上一主题 下一主题
离线y286572046
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-29

   今天我学习了插件的相关知识,但没搞懂这东西在哪有用。
插件的创建过程是这样的,有不足之处指出
   定义一个class a,其内部有个析构函数和一些纯虚函数,在其.h文件中尾部用QT_DECLEAR_INTERFACE将其声明为接口类。
  然后定义一个class b:public QObject,a,的类b的内部实现类a的所有虚函数。在类b的.cpp文件的尾部,用QT_EXPORT_PLUGIN宏将类b,指定输出为一个插件,工程的.pro文件CONFIG +=PLUGIN 和TEMPLATE =LIB,编译可以输出一个.dll文件,这个.dll文件就是插件了吧。

     我原本以为只要把这个.dll文件放在其他工程文件中,用QPluginLoader类的对象去加载就可以用了,后来发现还要#include"a.h"

           最后我就搞不懂还要这个include干什么,难道我用别人的插件还要把人家的接口类的头文件找来???
          Q_DECLARE_INTERFACE(Tax,"TaxDLL/1.0");  //这个宏用声明接口
          这个接口声明的第二参数,还要指明一个程序名称,那样的话就不能拿到别的程序上用了??
快速回复
限100 字节
 
上一个 下一个