要移动散点以及相邻的线条,可以使用QLineSeries的replace()函数来更新散点的位置。首先,你需要通过鼠标事件或其他方式获取新的散点坐标。然后,使用replace()函数将新的坐标替换原来的坐标。同时,也需要更新线条的位置。

以下是一个示例代码,用于在鼠标点击事件中移动散点和线条:

void Widget::mousePressEvent(QMouseEvent* event)
{
    // 获取鼠标点击位置的坐标
    QPointF point = ui->widget->chart()->mapToValue(event->pos());

    // 更新散点的位置
    scatterSeries->replace(0, point);

    // 更新线条的位置
    m_spline->replace(1, point);

    // 重新绘制图表
    ui->widget->chart()->update();
}

在上述代码中,我们使用了QChart的mapToValue()函数将鼠标点击位置的像素坐标转换为图表坐标。然后,我们使用replace()函数将新的坐标替换原来的坐标。最后,使用update()函数重新绘制图表。

请注意,上述代码中只更新了第一个散点和线条的位置。如果你有多个散点和线条,你需要相应地更新它们的位置。

希望这可以帮助到你!如果还有其他问题,请随时提问

void WidgetcreateChartView scatter chart chart = new QChart; m_spline = new QLineSeries; m_spline-append00; m_spline-append255100; m_spline-setUseOpenGLtrue; 使用openGL绘制 chart-a

原文地址: https://www.cveoy.top/t/topic/hHkZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录