#ifndef REGEXPINTERFACE_H
#define REGEXPINTERFACE_H
#include
class RegExpInterface
{
public:
virtual ~RegExpInterface() {}
virtual QString regexp(const QString &message) = 0;
};
Q_DECLARE_INTERFACE(RegExpInterface, "org.qter.Examples.myplugin.RegExpInterface")
#endif
#ifndef REGEXPPLUGIN_H
#define REGEXPPLUGIN_H
#include
#include "regexpinterface.h"
class RegExpPlugin : public QObject, RegExpInterface
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qter.Examples.myplugin.RegExpInterface" FILE "myplugin.json")
Q_INTERFACES(RegExpInterface)
public:
QString regexp(const QString &message);
};
#endif
宏Q_PLUGIN_METADATA有两个参数,第1个参数IID,与接口类中的唯一标识符对应,第2个参数FILE,是对应一个json文件,该参数可选,如果该参数使用了,那么json文件必须在插件类所在头文件目录中