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

2018-02-24 07:51:36来源:cnblogs.com作者:AuroraMini人点击

分享

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

主要思路:

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

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台