一,需求
图形化编程。将算法封装成item,使用拖拽的方式进行自由组合,支持历史步骤,属性编辑等功能。
二,关键点
(1),步骤窗口到 view 。重新 drag drop事件。 利用反射 根据算子的名字 构造具体的类。
(2),历史步骤记录。 使用 QUndoStack框架。
(3),属性编辑。使用Qt qtpropertybrowser 控件。自定义控件需要更改源码。
(4),算子的运行。 运行时,遍历scene中的所有item,执行每个item的run函数。算子的run函数中,单独开启一个线程,来对输入端口的数据进行判断,并执行具体的逻辑。
版权声明:本文为weixin_38416696原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。