我有一个梦想,我写的代码,可以像诗一样优美。我有一个梦想,我做的设计,能恰到好处,既不过度,也无不足。
前因后果:项目交接中有个需求是用户后续能够在研究出新算法后,可以在没有源码的情况下,自己将算法加入系统,因为这个,所有把自定义插件看了下,网上这方面的东西没找到多少,而且已有的涉及到的描述的也并不清楚,故将此记录下来,以供其他同学参考。
既然是自定义插件,故会有两个工程
插件工程
新建工程,选择library,选中C++库(不要直接选择Qt crator 插件,因为这个后面我也没弄明白,也没想着去弄)
操作如图:
1.
2.
3.创建过程中,除了工程名称需要填写外,其他的默认下一步即可。
4.不要直接选中qt creator 插件

5.工程创建完毕
6.修改.pro工程文件
将DESTDIR = $$[QT_INSTALL_PLUGINS]/generic 修改为 DESTDIR = $$PWD/bin,非必须项,但是如果不改的话,你需要自己到qt定义的该路径下去找你生成的插件dll.
7.创建插件继承的抽象类,在后面的应用程序中,也是通过这个纯虚函数的指针来使用插件,知识点:C++ 三大特性:封装、继承、多态。
抽象类头文件如下:
#ifndef CSDNFACE_H
#define CSDNFACE_H
#include <QString>
class Csdnface
{
public:
virtual ~Csdnface(){
}
virtual bool setString(QString test) = 0;
virtual QString getString() = 0;
};
QT_BEGIN_NAMESPACE
#define face_iid "ta.face"
Q_DECLARE_INTERF

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



