MIP工业视觉框架--通用组态组件开发

MIP框架自从更新以来,受到视觉社区广泛的关注,谢谢大家。在社区里面引起很大的争议和可行性的质疑。首先谢谢大家的关注,本次框架设计是根据自己近十年在视觉软件开发市场遇到的问题,改善而来。博主认为本次,是彻底解决了组件开发解耦问题,并以MIP框架为契机,推动工业组件化和标准化进程。下面介绍通用组件开发,并完成和界面和业务逻辑的解耦。

本次框架是基于QT,同时充分使用QT开发组态框架。QT标准的普及性很高,开源,跨平台的优势,成为很多团队的开发底层框架。但是基本每个团队都遇到了,模块化解耦的问题。MIP框架采用QT注册制反射机制的原理,对模块和平台,以及界面的完全解耦化。具体的解释连接:https://blog.youkuaiyun.com/qq_17767255/article/details/134530068?spm=1001.2014.3001.5502

对于组件开发者本次框架设计只定义了一个接口

extern "C" __declspec(dllexport) QObject * clear();

实现这个接口,外部框架可以采用显示连接的方式调用clear(),获取实现的对象。

实现的方法只要New一个自己实现的对象

QObject* clear()
{
    return new ImageThresholds();
}

同样对象可以继承QMainWindow,QWidget等QObject子对象进行实现。

开发QT界面教程查看链接:https://www.cnblogs.com/liweikuan/p/14317083.html

在编译的时候,可以直接生成DLL文件。在VS2019配置的QT工程直接将生成EXE改成DLL

编译生成的DLL文件就是一个组件。

上面就是一个简单组件的开发过程,把DLL放置到MIP软件运行目录LoadDll文件下就可以进行加载操作。

数据的交互采用QT的信号和槽函数,也就是MIP界面出现的引脚标记函数,组件上面识别的是控件所有自定义的槽函数,下面识别的是所有自定义的信号函数。

组件之间的通讯是根据信号和槽函数进行连接,没有任何自定义的接口。采用拖拽连线的方式会认操作更加简单。

这就是MIP解耦核心原理。因为QT做了大部分工作,所以这次MIP一个核心任务就是推动这种标准的解耦形式。实现不同团队组件之间的协作。完成项目的高效开发。

实现的一个具体例子QtWidgetApplication2.h文件

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication2.h"
extern "C" __declspec(dllexport) QObject * clear();

class QtWidgetsApplication2 : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsApplication2(QWidget *parent = Q_NULLPTR);

private:
    Ui::QtWidgetsApplication2Class ui;
};

实现的一个具体例子QtWidgetApplication2.cpp文件

#include "QtWidgetsApplication2.h"

QtWidgetsApplication2::QtWidgetsApplication2(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
}

QObject* clear()
{
    return new QtWidgetsApplication2();
}

这就是实现一个简单组件的过程。

想更深入的连接可以参照:https://gitee.com/DeepModel/mip

工程下的ImageThresholds项目。

最后谢谢大家的关注,本项目结构版本已经完成,后期会进行不断的重构和优化,但是这种组件接口和形式不会变。

目前社区开发人员已经有15人,接3个团队正式介入到平台的开发和推广工作。想加入和接洽的可以私信我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值