微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理圆图的Datachange信号?

如何解决如何处理圆图的Datachange信号?

我正在使用自己的内置库绘制圆图。 我可以使用表格数据 (x1,y1 & r) 绘制圆圈,共享代码
我在表格中使用 datachange 信号,每当输入任何表格项目数据时,它的创建号就没有了。的图形的圆圈。我可以使用其他信号还是可以对代码进行哪些更改?我想要没有的单图。圈数(基于表中的条目数)。
此外,当圆圈被画成线条时,就像我们画的那样,无需移除笔来绘制另一个圆圈,如何克服这个问题?

  • CHPlotGraph2D - 创建图形的类

  • CHPlotCurveData- 这个类保存曲线的数据点

  • CHPlotCurve-Class 将数据绘制为直线曲线

    CHPlotCurveData* curvedata1 = new CHPlotCurveData();
    qabstractitemmodel* table1 = ui.tableView->model();
    for (int irows = 0,maxI = table1->rowCount(); irows {
    double x1 = table1->data(table1->index(irows,1)).todouble();
    double y1 = table1->data(table1->index(irows,2)).todouble();
    double r = table1->data(table1->index(irows,6)).todouble();
    for (double angle = 0;angle {
    double theta = (angle * 180) / 3.14;
    double zx = x1 + r * cos(theta);
    double zy = y1 + r * sin(theta);
    QPointF pt(zx,zy);
    曲线数据1->追加((pt));
    }
    }
    CHPlotCurve* curve1 = (CHPlotCurve*)pGr->insertCurve("circle",
    CHPlotGraph2D::Line,false );
    curve1->setSamples(curvedata1);
    连接(ui.tableView->model(),&qabstractitemmodel::dataChanged,
    这, &tablemodel::drawCircle);

解决方法

谢谢..我已经解决了问题。当表格中的任何内容发生变化时,我需要删除包含所有圆圈的现有曲线并构建/添加新曲线,或替换数据

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。