我想创建一个应用程序来绘制贝塞尔曲线,就像在this网站中一样,用户可以选择点并用鼠标移动它们来改变曲线的形状。目前,在我的应用程序中,用户可以绘制点并选择它们,但它们不能通过鼠标移动。
这些点由结构定义:
struct Point{ QPoint point; bool isSelected; };
我的鼠标移动事件,我尝试捕捉鼠标的最后位置并更新我的点列表:
void RenderArea::mouseMoveEvent(QMouseEvent *e)
{
for (int i = 0; i < list.size(); ++i){
if (list[i].isSelected == true)
list[i].point = e->pos();
this->update();
}
}
实际上,它不起作用。我怎么能实现它,以便当鼠标移动拖动一个点时图片可以开始更新?