Q3DSurface, QAbstract3DAxis::setLabels()
Verfasst: 10. Oktober 2017 19:44
Hallo zusammen,
ich kann leider die Achsenbeschriftung nicht umbenennen (siehe Codebeispiel: setLabels()).
In der Doku von Qt steht:
QAbstract3DAxis::labels https://doc.qt.io/qt-5/qabstract3daxis.html#labels-prop
This property holds the labels for the axis.
Note: Setting this property for QValue3DAxis does nothing, as it generates labels automatically.
Wie kann ich die automatische Generierung ausschalten bzw. eigene Achsennamen vergeben?
ich kann leider die Achsenbeschriftung nicht umbenennen (siehe Codebeispiel: setLabels()).
In der Doku von Qt steht:
QAbstract3DAxis::labels https://doc.qt.io/qt-5/qabstract3daxis.html#labels-prop
This property holds the labels for the axis.
Note: Setting this property for QValue3DAxis does nothing, as it generates labels automatically.
Wie kann ich die automatische Generierung ausschalten bzw. eigene Achsennamen vergeben?
Code: Alles auswählen
#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;
// Punkte einer Pyramide
*dataRow1 << QVector3D(0,0,0) << QVector3D(1,0,0);
*dataRow2 << QVector3D(0,0,1) << QVector3D(1,1,1);
*data << dataRow1 << dataRow2;
QSurface3DSeries *series = new QSurface3DSeries;
series->dataProxy()->resetArray(data);
series->setDrawMode(QSurface3DSeries::DrawSurfaceAndWireframe);
surface.addSeries(series);
surface.show();
QStringList yLab; //QValue3DAxisFormatter
yLab << "a" << "b" << "c" << "d" << "e" << "f";
surface.axisY()->setLabels(yLab);
return app.exec();
}