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

2018-06-27 10:05:17来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

主要思路:

画横线竖线画出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 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:网络流应用

下一篇:BZOJ 1188: [HNOI2007]分裂游戏(multi-nim)