一段设置KDChart::LineDiagram marker style的通用代码
//markerstyle map
KDChart::MarkerAttributes::MarkerStylesMap msMap;
msMap.insert( 0, KDChart::MarkerAttributes::MarkerCircle );
msMap.insert( 1, KDChart::MarkerAttributes::MarkerSquare );
msMap.insert( 2, KDChart::MarkerAttributes::MarkerDiamond );
msMap.insert( 3, KDChart::MarkerAttributes::Marker1Pixel );
msMap.insert( 4, KDChart::MarkerAttributes::Marker4Pixels );
msMap.insert( 5, KDChart::MarkerAttributes::MarkerRing );
msMap.insert( 6, KDChart::MarkerAttributes::MarkerCross );
msMap.insert( 7, KDChart::MarkerAttributes::MarkerFastCross);
//set markerstyle of each line
//showmarker but hide text
for(int i =0; i < widget.lineDiagram()->datasetMarkers().size();++i)
{
KDChart::DataValueAttributes dva =widget.lineDiagram()->dataValueAttributes(i);
KDChart::MarkerAttributes ma = dva.markerAttributes();
ma.setMarkerStyle(msMap[i % msMap.size()]);
ma.setVisible(true);
KDChart::TextAttributes ta = dva.textAttributes();
ta.setVisible(false);
dva.setTextAttributes(ta);
dva.setMarkerAttributes(ma);
dva.setVisible(true);
widget.lineDiagram()->setDataValueAttributes(i, dva);
}