1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #include <QtDataVisualization> using namespace QtDataVisualization;
QWidget* graphContainer=QWidget::createWindowContainer(graph3D); Q3DSurface *graph3D= new Q3DSurface();
QValue3DAxis *axisX=new QValue3DAxis; axisX->setTitle("Axis X"); axisX->setTitleVisible(true); axisX->setRange(-11,11); graph3D->setAxisX(axisX);
QSurfaceDataProxy *proxy= new QSurfaceDataProxy(); QSurface3DSeries* series= new QSurface3DSeries(proxy); series->setItemLabelFormat("(@xLabel @yLabel @zLabel)"); series->setMeshSmooth(true); series->setDrawMode(QSurface3DSeries::DrawSurfaceAndWireframe); graph3D->addSeries(series);
QSurfaceDataArray *dataArray = new QSurfaceDataArray; dataArray->reserve(N); proxy->resetArray(dataArray);
QLinearGradient grBtoY(0, 0, 100, 0); grBtoY.setColorAt(1.0, Qt::black); grBtoY.setColorAt(0.0, Qt::yellow); QPixmap pm(160, 20); QPainter pmp(&pm); pmp.setBrush(QBrush(grBtoY)); pmp.setPen(Qt::NoPen); pmp.drawRect(0, 0, 160, 20); ui->btnGrad1->setIcon(QIcon(pm));
QColor color=series->baseColor(); color=QColorDialog::getColor(color); if (color.isValid()) { series->setBaseColor(color); series->setColorStyle(Q3DTheme::ColorStyleUniform); }
graph3D->setSelectionMode(QAbstract3DGraph::SelectionSlice);
series->setDrawMode(QSurface3DSeries::DrawWireframe); void MainWindow::on_btnGrad1_clicked() { QLinearGradient gr; gr.setColorAt(0.0, Qt::black); gr.setColorAt(0.33, Qt::blue); gr.setColorAt(0.67, Qt::red); gr.setColorAt(1.0, Qt::yellow);
series->setBaseGradient(gr); series->setColorStyle(Q3DTheme::ColorStyleRangeGradient); }
QAbstract3DSeries::Mesh aMesh; aMesh=QAbstract3DSeries::Mesh(index+1); series->setMesh(aMesh);
|