通过Qlineseries项目及其观点进行迭代

Iterate through QLineSeries items and their points

本文关键字:迭代 观点 Qlineseries 项目 通过      更新时间:2023-10-16

我需要按y轴对qlineseries进行排序。我是C 和QT的新手,所以我尝试了

QLineSeries* series = lineSeriesMap.value(key);
qSort(series->points().begin()->y(),series->points().end()->y());

,但这给了我illegal indirection错误的qalgorithms.h

我知道这可能很容易,但是由于工作,我需要这样做

您应该做的是获取点的副本,订购点并替换初始系列中的点

QVector<QPointF> points = series->pointsVector();
std::sort(points.begin(), points.end(), [](const QPointF & p1, const QPointF & p2) {
    return p1.y() > p2.y();
});
series->replace(points);

c 20

auto points { series->pointsVector() }; // move ctr
std::ranges::sort(points, {}, &QPointF::y); // #include <ranges>
series->replace(points);