首页 > 解决方案 > 自定义所选项目 Surface3d

问题描述

当我在surface3d中单击该项目时,如何更改该项目?

我想展示一个 3dmodel 而不是那个球体,或者......只是想定制它

我在 google 和 qt docs 以及 qml 中的所有属性中进行了搜索,但没有解决方案...

我的意思是红色球体

放大

forExample ==> MySurface.qml :

Surface3D
{
    id:mySurface
    Surface3DSeries
    {
        id:mySeries
        drawMode: Surface3DSeries.DrawSurface
        ItemModelSurfaceDataProxy
        {
            id:myModel
            itemModel: ListModel{
                ListElement
                {
                    // added some points like :
                    idNumber:"10"
                    cost:"4900"
                }
            }
        }
    }
}

标签: qtqmlcustomization

解决方案


最后我用了一个想法来找到第三点......

注意:在更改其位置之前添加了客户项目。

我用了 :

        selectionMode: AbstractGraph3D.SelectionMultiSeries
        onSelectedElementChanged:
        {
            var xPoint=mySeries.selectedPoint.x;
            var yPoint=mySeries.selectedPoint.y;
            var i;
            if(xPoint!=-1)
            {
                for(i=0;i<myListModel.count;++i)
                {
                    if(myListModel.get(i).idNumber==xPoint
                            &&  myListModel.get(i).cost==yPoint)
                    {
                        myCustom3DItem.position=Qt.vector3d(yPoint,myListModel.get(i).height,xPoint);
                        break;
                    }
                }
            }
        }

推荐阅读