我正在尝试遍历Qt 5.5 QtCharts LineSeries
类型中的点,该类型继承自XYSeries
。
我尝试了一个简单的for
-loop,但无法找到确定该系列中点数的方法:
for (var i=0; i < my_line_series.contentItem.children.length; ++i) {
// do something with the index
}
不幸的是,似乎以下都不是
LineSeries
的成员:contentItem
children
length
count
size
另外,我可以尝试遍历该系列,直到没有给定索引处的访问点,但是用于访问给定索引处的点的方法
at()
,如果索引无效,则返回(0,0)
,并且完全有可能是我的(0,0)
中真正的LineSeries
点。....那么有可能在纯QML 中执行此迭代(请参见编辑)吗?
编辑:底层C++类型
QLineSeries
提供count()
方法,因此可以将LineSeries
QML类型传递给采用Q_INVOKABLE
的QAbstractSeries*
方法并以这种方式获得大小。但是,对于一个简单的问题,这似乎是一种荒谬的解决方法。 最佳答案
Qt 5.7是可能的。
有一个“count”属性(不是函数),允许您使用QML / JS中的“at”函数迭代LineSeries的点。
不幸的是,它没有记载,我做出了一个疯狂的猜测,很幸运,但是我想当您尝试使用Qt 5.5时该属性不存在。
范例:
for(var i = 0; i < lineSeries.count; ++i)
console.log(lineSeries.at(i));
关于c++ - 遍历QML XYSeries中的点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34618846/