码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-02-23 23:50:37      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:思路   单击   use   inf   style   ==   body   active   widget   

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

技术分享图片

主要思路:

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

 

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

标签:思路   单击   use   inf   style   ==   body   active   widget   

原文地址:https://www.cnblogs.com/AuroraMini/p/8463667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!