我需要按y轴对QLineSeries和它们内部的点进行排序。我是c++和qt的新手,所以我试着
QLineSeries* series = lineSeriesMap.value(key);
qSort(series->points().begin()->y(),series->points().end()->y());但这在qalgorithms.h上给出了illegal indirection错误
我知道这可能是件容易的事,但由于工作的原因,我必须这么做。
发布于 2019-03-15 14:53:42
您应该做的是获得点的副本,对点进行排序,并替换初始序列中的点
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);发布于 2021-06-19 06:59:08
C++20
auto points { series->pointsVector() }; // move ctr
std::ranges::sort(points, {}, &QPointF::y); // #include <ranges>
series->replace(points);https://stackoverflow.com/questions/55175715
复制相似问题