Qt 使用画布动态绘制点到点线

Qt 使用画布动态绘制点到点线,qt,qml,Qt,Qml,我正在尝试制作一个简单的图形应用程序,在其中我可以动态地创建不同的形状,如(矩形、圆形、三角形)和一条线(从一点到另一点)。在前三个月里,我一点问题都没有。对于rect,我刚刚定义了一个组件矩形,并在我的绘图区域的MouseArea的onClicked处理程序中使用create component创建了它。对于三角形,我使用canvas绘制三角形,并使用createcomponent和onClicked处理程序创建组件。我主要通过mouse.x和mouse.y来创建任意形状。现在,对于这一行,我

我正在尝试制作一个简单的图形应用程序,在其中我可以动态地创建不同的形状,如(矩形、圆形、三角形)和一条线(从一点到另一点)。在前三个月里,我一点问题都没有。对于rect,我刚刚定义了一个组件矩形,并在我的绘图区域的MouseArea的onClicked处理程序中使用create component创建了它。对于三角形,我使用canvas绘制三角形,并使用createcomponent和onClicked处理程序创建组件。我主要通过mouse.x和mouse.y来创建任意形状。现在,对于这一行,我想在单击鼠标earea时定义起始点,在释放鼠标earea时定义端点。一旦它被释放,我想画线(使用画布)。我该怎么做

为了便于参考,我添加了一个如何创建其他项目的屏幕截图:


鼠标earea也有一个
释放的信号。每当您选择的索引显示“行”时,将x和y存储在按下的
处理程序中,并仅使用存储位置在释放的
处理程序中创建行

MouseArea {

    property var startPoint
    onPressed: { 
        if(selectedShape.currentIndex === 3) 
            startPoint = Qt.point(mouse.x, mouse.y) 
    }

    onReleased: {
        if(selectedShape.currentIndex === 3 && startPoint !== undefined)
        {
            createLine(startPoint, Qt.point(mouse.x, mouse.y) //your function goes here
        }
        startPoint = undefined        
    }
}

注意:不要将代码粘贴为图像

您应该创建一个MCVE(轻松使用QML),并以文本形式提供代码。还有,你到底有什么问题?你不能得到坐标吗?您是否获得了坐标,但无法将其传递到画布?你真的得到了画布上所有必要的东西,但是没有正确地画线吗?把你的代码显示为文本谢谢这就是我要找的。