Qt 从c+传递QGeoCoordination+;到qml

Qt 从c+传递QGeoCoordination+;到qml,qt,qml,Qt,Qml,有什么“好”的方法可以做到这一点吗?到目前为止,我找到的唯一解决方案是使用一个QVariantList of double's,但它相对较慢(在Core i3上为1000万点~1秒),而且很难看……通过qml/c++来回传递QGeoCoordination(但可能无法扩展到1000万点,尚未对此进行压力测试)的一个好方法是使用以下命令 //when passsing from c++, qml will see the below as a coordinate type QVariant::f

有什么“好”的方法可以做到这一点吗?到目前为止,我找到的唯一解决方案是使用一个QVariantList of double's,但它相对较慢(在Core i3上为1000万点~1秒),而且很难看……

通过qml/c++来回传递QGeoCoordination(但可能无法扩展到1000万点,尚未对此进行压力测试)的一个好方法是使用以下命令

//when passsing from c++, qml will see the below as a coordinate type
QVariant::fromValue(yourQGeoCoordinateObjectHere);

//when passing coordinate from qml, the below will give you a 
//QGeoCoordinate object to work with
returnedQVariantObject.value<QGeoCoordinate>();
<代码> / /从C++中传递时,QML将看到下面的坐标类型 QVariant::fromValue(您的QGeoCoordination对象); //当从qml传递坐标时,下面将为您提供一个 //要使用的QGeoCoordinate对象 returnedQVariantObject.value();
我认为总的来说,这不是一个好办法——通过1000万分。这意味着它们中的大多数将不可见。所以这里需要一些优化。至于你的问题——也许是一些C++函数通过索引返回坐标对象(或双值)?至少您可以在这里节省一点时间转换成
QVariant
再转换回来…非常感谢!这解决了两个问题……你应该为你的问题提供一个答案,向其他可能看到这一点的人描述你的解决方案。你应该将以下答案标记为解决方案。