监控组选择生效时间的窗口

Posted AuroraMini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控组选择生效时间的窗口相关的知识,希望对你有一定的参考价值。

对监控区域组配置生效时间,如下图所示,以半小时的粒度设置

主要思路:

画横线竖线画出7*48个小方格,填充颜色时以小方格是矩形为单位进行填充

用bool isActive[7][48];代表每个小方格的状态

每次鼠标单击到某个方格,就取反对应的isActive,然后触发重绘

重绘时按照sActive是否为true判断是否对小方格的区域填充颜色

判断鼠标单击位置位于哪个小方格,只需将坐标去除边界后,除以小方格的大小,即是第几个小方格的下标:

 1 void HourWidget::mouseReleaseEvent(QMouseEvent *e){
 2     if(e->button() == Qt::LeftButton){
 3         QPoint p = e->pos();
 4         int x = p.x();
 5         int y = p.y();
 6         x-=xStart;
 7         y-=yStart;
 8         if(x<0 || y<0 || x>=48*w || y>=7*h){
 9             e->ignore();
10             return;
11         }
12         int j = x/w;
13         int i = y/h;
14         isActive[i][j] = !isActive[i][j];
15         update();
16     }
17     e->ignore();
18 }

 

以上是关于监控组选择生效时间的窗口的主要内容,如果未能解决你的问题,请参考以下文章

HTML代码片段

HTML代码片段

远程观看监控时电脑显示设备已达到最大网络连接数怎么解决?

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

如何从设置中获取数据并发送到此片段

如何根据日期选择组中的单行?