adopt for Qt6

This commit is contained in:
2023-11-01 20:59:22 +03:00
parent c73be2a29c
commit 106d7c6c93
4 changed files with 31 additions and 1 deletions

View File

@@ -9,10 +9,18 @@
Scatter3D::Scatter3D(QWidget * parent): QWidget{parent} {
curGraphic = 0;
#if QT_VERSION_MAJOR == 5
canvas = new QtDataVisualization::Q3DScatter();
#else
canvas = new Q3DScatter();
#endif
canvas->setFlag(Qt::FramelessWindowHint);
canvas->axisZ()->setReversed(true);
#if QT_VERSION_MAJOR == 5
canvas->setShadowQuality(QtDataVisualization::QAbstract3DGraph::ShadowQualityNone);
#else
canvas->setShadowQuality(QAbstract3DGraph::ShadowQualityNone);
#endif
container = QWidget::createWindowContainer(canvas);
setLayout(new QVBoxLayout(this));
layout()->setContentsMargins(0, 0, 0, 0);
@@ -98,8 +106,13 @@ void Scatter3D::setGraphicMeshSmooth(bool smooth, int index) {
void Scatter3D::addGraphic(const QColor & color, float pointSize, Mesh mesh, bool meshSmooth) {
Scatter3DGraphic sg;
#if QT_VERSION_MAJOR == 5
sg.data = new QtDataVisualization::QScatterDataProxy();
sg.series = new QtDataVisualization::QScatter3DSeries(sg.data);
#else
sg.data = new QScatterDataProxy();
sg.series = new QScatter3DSeries(sg.data);
#endif
sg.series->setItemSize(pointSize);
sg.series->setBaseColor(color);
sg.series->setMesh(mesh);

View File

@@ -25,18 +25,27 @@
#include <QAbstract3DSeries>
#include <QWidget>
#if QT_VERSION_MAJOR == 5
namespace QtDataVisualization {
#endif
class Q3DScatter;
class QScatterDataProxy;
class QScatter3DSeries;
class QScatterDataItem;
#if QT_VERSION_MAJOR == 5
} // namespace QtDataVisualization
#endif
class QAD_GRAPHIC3D_EXPORT Scatter3D: public QWidget {
Q_OBJECT
#if QT_VERSION_MAJOR == 6
using Mesh = QAbstract3DSeries::Mesh;
using DataArray = QVector<QScatterDataItem>;
#else
using Mesh = QtDataVisualization::QAbstract3DSeries::Mesh;
using DataArray = QVector<QtDataVisualization::QScatterDataItem>;
#endif
Q_PROPERTY(int currentGraphic READ currentGraphic WRITE setCurrentGraphic)
Q_PROPERTY(int graphicsCount READ graphicsCount WRITE setGraphicsCount)
@@ -86,12 +95,17 @@ public slots:
private:
struct Scatter3DGraphic {
#if QT_VERSION_MAJOR == 5
QtDataVisualization::QScatter3DSeries * series;
QtDataVisualization::QScatterDataProxy * data;
#else
QScatter3DSeries * series;
QScatterDataProxy * data;
#endif
};
QWidget * container;
QtDataVisualization::Q3DScatter * canvas;
Q3DScatter * canvas;
QVector<Scatter3DGraphic> graphics;
int curGraphic;

View File

@@ -193,11 +193,13 @@ inline QVector<T> PI2QVector(const PIVector<T> & v) {
ret << v[i];
return ret;
}
#if QT_VERSION_MAJOR == 5
template<typename T>
inline PIVector<T> Q2PIVector(const QVector<T> & v) {
if (v.isEmpty()) return PIVector<T>();
return PIVector<T>(v.constData(), (size_t)v.size());
}
#endif
template<typename T>
inline PIVector<T> Q2PIVector(const QList<T> & v) {
if (v.isEmpty()) return PIVector<T>();

View File

@@ -7,6 +7,7 @@
#include <QFormLayout>
#include <QGroupBox>
#include <QMetaEnum>
#include <QActionGroup>
using Attribute = PIValueTree::Attribute;