EDQPF应用软件框架完整1【包括界面拖拽和全流程编辑】 点击:175 | 回复:0



黄冰

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 0回
  • 年度积分:20
  • 历史总积分:20
  • 注册:2024年6月15日
发表于:2024-06-15 19:01:30
楼主

EDQPF

基于事件的Qt插件框架(Event-Driven Qt Plugin Framework)



0. 前沿

我先吹个流弊,本框架的优势和值得你收藏的地方:

1、可以适配任何工业行业的应用软件开发

2、实现插件化开发的完全解耦,非常适合团队开发

3、实现算法流程、程序流程、动作流程(运动轴、机器人、EFEM等)等统一的流程化界面编辑

4、核心的技术要点和框架思想都全部分享

5、经过项目验证,可行;可以被借鉴



是不是吹牛逼呢,还是真不是,仔细看下面的设计思想,是真的完成上面全部功能的。



为什么分享技术思想呢

a、非标自动化或者视觉行业还是一个技术比较封闭的行业,有时经常因为一个小小问题找不到折磨,有时间分一下自己技术

b、框架的设计,更多是想法,有时其实我们都不知道需要怎样的框架,

c、知道了需要什么,但是不知道怎样去实现,或者其他现在开源框架如此之多,有没有我们可以借鉴的呢;

d、相当于茫茫大海找自己的珍珠,有时为了一个简单设计,找非常多的资料,摸索前行,所以非常希望有经验的朋友一起交流,有可能一句简单话,让我们豁然开朗,一起进步。

e|、框架设计也借鉴了前人的经验,感谢,这次分享一下自己非标应用软件框架的一些思想,交流学习

  

1.1.简介

本文介绍的基于qt为基础设计的一套插件框架EDQPF,主要是非标自动化的应用软件开发,特别是视觉检测行业等等。



从事非标自动化行业或者工业视觉行业,见过太多的框架,包括海康的visionmastor、visionpro、easyvision、opt视觉软件、基于Qt的跨平台插件式开发框架QCPFrame(https://github.com/Jamie-tong/QCPFrame)、DT–基于QT开发的组件式框架DT(https://github.com/huifeng-kooboo/DT)、Qt creator 框架等等。



我们发现很多框架有优点和缺点,很难满足我们非标项目的快速变化和定制开发,有些偏向数据流的视觉工具框架而界面定制非常难试用于大型定制项目开发,有些框架偏向应用但是缺少流程或者界面定制的开发,有些缺少运动控制或者机器人控制流程的框架等等;



结合上面缺点和快速开发定制化的个人开发的项目或者多人协同的大型项目,我们设计产生一个套插件框架EDQPF,满足大部分需求的一个比较通用的全能框架,避免重复造轮子,高效开发。



目标:

1、应用软件开发的框架,不是视觉框架,不是运动控制框架

2、插件化的开发,插件化的管理,多人协同开发

3、界面可以灵活配置

4、流程框架,实现流程的灵活配置,包括算法流程、运动控制流程



EDQPF框架根据上面的目标而设计,集成主程序、插件管理、界面布局、流程插件、插件集合完整的开发框架。



EDQPF框架是一个面向非标项目设计的避免重复造轮子的应用软件框架,所以它大而全,可以编辑插件、编辑界面、编辑流程,但是它肯定不如专业插件软件专业,不如VS或者Qt designer强大和灵活的界面设计,不如visionmastor专业的视觉工具编辑能力;



它是一个集合各个框架的部分优点的中庸的框架。最最最重要的一点理解:面向非标项目设计,避免重复造轮子,应用软件框架。所以你会看到,我们整个核心框架的技术架构也是基于的开源库进行设计的,都是避免重复造轮子。



现在有太多的优秀的开源库,而且我相信我们工业行业需要的大部分技术(除了核心的算法库、行业部分经验),现在的互联网都能找到,但是每人的精力有限,了解的方向也不一样,所以我们需要的交流和分享,拓宽自己见识。



1.2.框架介绍

EDQPF框架如下图,包括主程序、加载界面、插件管理、界面布局管理、流程插件、插件集合,面向非标定制的开发,仅仅开发插件集部分,插件开发完成,项目即开发完成。



就像标题说的一样,EDQPF框架是基于事件的Qt插件框架(Event-Driven Qt Plugin Framework),不是使用qt插件(QPluginLoader类)实现,而是基于事件(发布/订阅模式)方式来实现插件交互,完全隔离了插件与插件的耦合。



完整介绍

https://blog.csdn.net/qq_27323533/article/details/139172245

此帖发自小程序

SSI ļʱ