在
视频监控
系统中,设备会有很多个,一般会按照设备的分组进行管理,这个分组支持多层级子分类,还有个轮询功能,这个也有个轮询分组,当然默认按照NVR的方式分组也是可以的,但是实际情况往往用户希望轮询也能够自定义分组,比如轮询所有地方的大门口视频,就需要从不同的设备分组中找到对应的大门口的视频添加进来,于是有个专门的轮询分组,需要手动选择设备进行添加,之前做的时候
比较简单,直接放的对应设备也就是摄像信息表,可以多选,用户选择哪个就添加哪个,在设备数量很少的时候,这个添加还是可以的,但是数量多了以后,滚动条拉来拉去很不方便,比如往往希望添加某个NVR下面的所有设备到一个分组,如果有64个通道,那就要一个个选,哪怕可以连续选择,也极其不方便,而且顺序可能是乱的,同一台NVR的设备在表中的
数据可能不是连续的。
之前就已经做了个万能设备树窗体,这次就要派上用场了,直接在设备树节点前面有个复选框,当勾选了父节点的复选框,子节点也全部勾选,这不就是用户所需要的吗?默认qtreewidget的数据模型是
没有这个功能的,之前很多项目都需要用到这个功能,特意封装了一个控件XModelIndex,里面专门实现的选中节点任意位置自动设置复选框状态、自动更新所有父节点复选框状态、自动更新所有子节点复选框状态三个功能,这个涵盖了各种可能的情况,外部的pressed和clicked关联到槽函数即可,只需要增加一个关联
信号槽就行,复用所有的功能。