http://doc.qt.io/qt-5/q3dsurface.html
#include <QtDataVisualization>
using namespace QtDataVisualization;
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
Q3DSurface surface;
surface.setFlags(surface.flags() ^ Qt::FramelessWindowHint);
QSurfaceDataArray *data = new QSurfaceDataArray;
QSurfaceDataRow *dataRow1 = new QSurfaceDataRow;
QSurfaceDataRow *dataRow2 = new QSurfaceDataRow;
*dataRow1 << QVector3D(0.0f, 0.1f, 0.5f) << QVector3D(1.0f, 0.5f, 0.5f);
*dataRow2 << QVector3D(0.0f, 1.8f, 1.0f) << QVector3D(1.0f, 1.2f, 1.0f);
*data << dataRow1 << dataRow2;
// 数据
// 第一条线:
// 0.0f, 0.1f, 0.5f 1.0f, 0.5f, 0.5f
//第二条线:
// 0.0f, 1.8f, 1.0f 1.0f, 1.2f, 1.0f
// 发现:同一条线Z坐标相同
// 不是同一条线,相同序号(即第几个)点的X坐标相同

QSurface3DSeries *series = new QSurface3DSeries;
series->dataProxy()->resetArray(data);
surface.addSeries(series);
surface.show();
return app.exec();
}
// 此外:
// void Q3DSurface::addSeries(QSurface3DSeries *series)
// Adds the series to the graph. A graph can contain multiple series, but has only one set of axes. If the
// newly added series has specified a selected item, it will be highlighted and any existing selection will
// be cleared. Only one added series can have an active selection.
// 也就是好像添加多个无效