基于Qt的插件
特别声明
为确保插件的兼容性,请使用Qt 6.8.3版本进行开发。
基于Qt开发的插件, 可以查看示例:数据校验器
插件接口如下:
class XFlowPluginInterfaceV1
{
public:
virtual QString pluginApiVersion() const = 0;
virtual QString caption() const = 0;
virtual QString name() const = 0;
virtual int inPorts() const = 0;
virtual int outPorts() const = 0;
virtual QWidget *newWidget() = 0;
virtual QByteArray handleData(QByteArray const &data, int const index, QWidget *ui) = 0;
virtual QJsonObject save(QWidget *ui) const { return QJsonObject(); }
virtual void load(const QJsonObject ¶meters, QWidget *ui) { Q_UNUSED(parameters); }
virtual void setLanguage(const QString &language) { Q_UNUSED(language); }
};
插件接口版本
接口声明:
QString pluginApiVersion() const;
返回值:
返回一个字符串,表示插件接口版本。目前支持的版本如下:
xFlow版本 | 支持的插件API |
---|---|
3.0.x | 1.0 |
插件说明
接口声明:
QString caption() const;
返回值:
返回一个字符串,表示插件的标题。
输入端口数量
接口声明:
int inPorts() const;
返回值:
输入端口的数量。
输出端口数量
接口声明:
int outPorts() const;
返回值:
输出端口的数量。
创建插件UI
接口声明:
QWidget *newWidget();
返回值:
插件节点的UI。
处理数据
接口声明:
QByteArray handleData(QByteArray const &data, int const index, QWidget *ui) = 0;
参数说明:
data
:输入数据index
:输入端口索引ui
:插件UI
返回值:
- 返回处理后的数据(如果不需要输出,返回一个空的QByteArray()即可)
保存插件UI参数
接口声明:
QJsonObject save(QWidget *ui) const { return QJsonObject(); }
返回值:
需要保存的参数,返回一个QJsonObject对象。
加载插件UI参数
接口声明:
void load(const QJsonObject ¶meters, QWidget *ui) { Q_UNUSED(parameters); }
参数说明:
parameters
:保存的参数ui
:插件UI
设置插件语言
接口声明:
void setLanguage(const QString &language) { Q_UNUSED(language); }
参数说明(目前xFlow支持以下语言):
取值 | 说明 |
---|---|
en | 英文 |
zh_CN | 简体中文 |