aboutsummaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/graphgallery/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/datavisualization/graphgallery/main.py')
-rw-r--r--examples/datavisualization/graphgallery/main.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/datavisualization/graphgallery/main.py b/examples/datavisualization/graphgallery/main.py
new file mode 100644
index 000000000..4b57b85dd
--- /dev/null
+++ b/examples/datavisualization/graphgallery/main.py
@@ -0,0 +1,50 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+"""PySide6 port of the Qt DataVisualization graphgallery example from Qt v6.x"""
+
+import os
+import sys
+
+from PySide6.QtCore import QSize
+from PySide6.QtWidgets import QApplication, QMessageBox, QTabWidget
+
+from bargraph import BarGraph
+from scattergraph import ScatterGraph
+from surfacegraph import SurfaceGraph
+
+
+if __name__ == "__main__":
+ os.environ["QSG_RHI_BACKEND"] = "opengl"
+
+ app = QApplication(sys.argv)
+
+ # Create a tab widget for creating own tabs for Q3DBars, Q3DScatter, and Q3DSurface
+ tabWidget = QTabWidget()
+ tabWidget.setWindowTitle("Graph Gallery")
+
+ screen_size = tabWidget.screen().size()
+ minimum_graph_size = QSize(screen_size.width() / 2, screen_size.height() / 1.75)
+
+ # Create bar graph
+ bars = BarGraph()
+ # Create scatter graph
+ scatter = ScatterGraph()
+ # Create surface graph
+ surface = SurfaceGraph()
+
+ if (not bars.initialize(minimum_graph_size, screen_size)
+ or not scatter.initialize(minimum_graph_size, screen_size)
+ or not surface.initialize(minimum_graph_size, screen_size)):
+ QMessageBox.warning(None, "Graph Gallery", "Couldn't initialize the OpenGL context.")
+ sys.exit(-1)
+
+ # Add bars widget
+ tabWidget.addTab(bars.barsWidget(), "Bar Graph")
+ # Add scatter widget
+ tabWidget.addTab(scatter.scatterWidget(), "Scatter Graph")
+ # Add surface widget
+ tabWidget.addTab(surface.surfaceWidget(), "Surface Graph")
+
+ tabWidget.show()
+ sys.exit(app.exec())