paint事件思路:获取鼠标当前点,QCursor::pos();再用m_points.push_back(curren
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/10 09:39:38
paint事件
思路:获取鼠标当前点,QCursor::pos();再用m_points.push_back(currentpoint);记下当前点,然后用
painter.drawPolyline(points,count);将这些点画出来,但是现在遇到这个问题,想鼠标单击就可以画线,释放鼠标就停止,如果断断续续的画一样东西,笔画都是连起来的,如何解决这个问题,
![](http://img.wesiedu.com/upload/9/40/940bd0ed8fd8d09e596fe16df12c5e05.jpg)
若是在mouseReleaseEvent(QMouseEvent *)的时候就可把收集到的点给去掉,就会显示不出图形,
思路:获取鼠标当前点,QCursor::pos();再用m_points.push_back(currentpoint);记下当前点,然后用
painter.drawPolyline(points,count);将这些点画出来,但是现在遇到这个问题,想鼠标单击就可以画线,释放鼠标就停止,如果断断续续的画一样东西,笔画都是连起来的,如何解决这个问题,
![](http://img.wesiedu.com/upload/9/40/940bd0ed8fd8d09e596fe16df12c5e05.jpg)
若是在mouseReleaseEvent(QMouseEvent *)的时候就可把收集到的点给去掉,就会显示不出图形,
![paint事件思路:获取鼠标当前点,QCursor::pos();再用m_points.push_back(curren](/uploads/image/z/18964788-60-8.jpg?t=paint%E4%BA%8B%E4%BB%B6%E6%80%9D%E8%B7%AF%EF%BC%9A%E8%8E%B7%E5%8F%96%E9%BC%A0%E6%A0%87%E5%BD%93%E5%89%8D%E7%82%B9%2CQCursor%3A%3Apos%28%29%3B%E5%86%8D%E7%94%A8m_points.push_back%28curren)
能不能在mousePressEvent里面使用话线那段函数呢?每次进入使用新的位置,释放的时候就把位置清掉,估计可以吧.
再问: 不可以,mousePressEvent事件的话只会记录按下时的那个点,不会记录移动的点的。
再答: mouseMoveEvent呢?
再问: 私聊可以不,我把程序代码给你,你也看看 591015602
再答: 定义一个标志
mousepressevent将标志置位,意思是可以画
mousereleaseevent释放这个标志,意思是不能画
mousemoveevent下面判断这个标志,置位就画,没有置位就不画。
大概思路是这样,我也不知道可不可行的。
再问: 不可以,mousePressEvent事件的话只会记录按下时的那个点,不会记录移动的点的。
再答: mouseMoveEvent呢?
再问: 私聊可以不,我把程序代码给你,你也看看 591015602
再答: 定义一个标志
mousepressevent将标志置位,意思是可以画
mousereleaseevent释放这个标志,意思是不能画
mousemoveevent下面判断这个标志,置位就画,没有置位就不画。
大概思路是这样,我也不知道可不可行的。