First upload, 18 controller version

This commit is contained in:
2026-04-14 15:23:56 +02:00
commit 8c55001a1c
3810 changed files with 764061 additions and 0 deletions

View File

@@ -0,0 +1,387 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.1 as Controls
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Bars3D")
SectionLayout {
Label {
text: qsTr("multiSeriesUniform")
tooltip: qsTr("Multiseries Uniform")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.multiSeriesUniform
Layout.fillWidth: true
}
}
Label {
text: qsTr("barThickness")
tooltip: qsTr("Bar Thickness Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.barThickness
minimumValue: 0.01
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("barSpacing")
tooltip: qsTr("Bar Spacing")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
prefix: "col: "
backendValue: backendValues.barSpacing_width
minimumValue: 0.0
maximumValue: 10.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
SpinBox {
prefix: "row: "
backendValue: backendValues.barSpacing_height
minimumValue: 0.0
maximumValue: 10.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("barSpacingRelative")
tooltip: qsTr("Bar Spacing Relative")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.barSpacingRelative
Layout.fillWidth: true
}
}
Label {
text: qsTr("renderingMode")
tooltip: qsTr("Rendering Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.renderingMode
model: ["RenderIndirect", "RenderDirectToBackground",
"RenderDirectToBackground_NoClear"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("msaaSamples")
tooltip: qsTr("MSAA Sample Count")
Layout.fillWidth: true
}
SpinBox {
suffix: " x MSAA"
backendValue: backendValues.msaaSamples
minimumValue: 0
maximumValue: 16
Layout.fillWidth: true
}
Label {
text: qsTr("shadowQuality")
tooltip: qsTr("Shadow Quality")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.shadowQuality
model: ["ShadowQualityNone", "ShadowQualityLow", "ShadowQualityMedium",
"ShadowQualityHigh", "ShadowQualitySoftLow", "ShadowQualitySoftMedium",
"ShadowQualitySoftHigh"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("selectionMode")
tooltip: qsTr("Selection Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
id: selectionLayout
property bool isInModel: backendValue.isInModel;
property bool isInSubState: backendValue.isInSubState;
property bool selectionChangedFlag: selectionChanged
property variant backendValue: backendValues.selectionMode
property variant valueFromBackend: backendValue.value
property string enumScope: "AbstractGraph3D"
property string enumSeparator: " | "
property int checkedCount: 0
property bool selectionItem: false
property bool selectionRow: false
property bool selectionColumn: false
property bool selectionSlice: false
property bool selectionMulti: false
function checkValue(checkedVariable, variableText, expressionBase) {
var expressionStr = expressionBase
if (checkedVariable) {
if (expressionStr !== "") {
expressionStr += enumSeparator
}
expressionStr += enumScope
expressionStr += "."
expressionStr += variableText
checkedCount++
}
return expressionStr
}
function composeSelectionMode() {
var expressionStr = ""
checkedCount = 0
expressionStr = checkValue(selectionItem, "SelectionItem", expressionStr)
expressionStr = checkValue(selectionRow, "SelectionRow", expressionStr)
expressionStr = checkValue(selectionColumn, "SelectionColumn", expressionStr)
expressionStr = checkValue(selectionSlice, "SelectionSlice", expressionStr)
expressionStr = checkValue(selectionMulti, "SelectionMultiSeries", expressionStr)
if (checkedCount === 0)
backendValue.expression = enumScope + ".SelectionNone"
else
backendValue.expression = expressionStr
}
function evaluate() {
if (backendValue.value === undefined)
return
selectionItem = (backendValue.expression.indexOf("SelectionItem") !== -1)
selectionRow = (backendValue.expression.indexOf("SelectionRow") !== -1)
selectionColumn = (backendValue.expression.indexOf("SelectionColumn") !== -1)
selectionSlice = (backendValue.expression.indexOf("SelectionSlice") !== -1)
selectionMulti = (backendValue.expression.indexOf("SelectionMultiSeries") !== -1)
selectionItemBox.checked = selectionItem
selectionRowBox.checked = selectionRow
selectionColumnBox.checked = selectionColumn
selectionSliceBox.checked = selectionSlice
selectionMultiSeriesBox.checked = selectionMulti
}
onSelectionChangedFlagChanged: evaluate()
onIsInModelChanged: evaluate()
onIsInSubStateChanged: evaluate()
onBackendValueChanged: evaluate()
onValueFromBackendChanged: evaluate()
ColumnLayout {
anchors.fill: parent
Controls.CheckBox {
id: selectionItemBox
style: checkBox.style
text: "SelectionItem"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionItem = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionRowBox
style: checkBox.style
text: "SelectionRow"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionRow = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionColumnBox
style: checkBox.style
text: "SelectionColumn"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionColumn = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionSliceBox
style: checkBox.style
text: "SelectionSlice"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionSlice = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionMultiSeriesBox
style: checkBox.style
text: "SelectionMultiSeries"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionMulti = checked
selectionLayout.composeSelectionMode()
}
}
}
}
Label {
text: qsTr("measureFps")
tooltip: qsTr("Measure Frames Per Second")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.measureFps
Layout.fillWidth: true
}
}
Label {
text: qsTr("orthoProjection")
tooltip: qsTr("Use Orthographic Projection")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.orthoProjection
Layout.fillWidth: true
}
}
Label {
text: qsTr("aspectRatio")
tooltip: qsTr("Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.aspectRatio
minimumValue: 0.01
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("floorLevel")
tooltip: qsTr("Floor Level")
Layout.fillWidth: true
}
SecondColumnLayout {
LineEdit {
backendValue: backendValues.floorLevel
inputMethodHints: Qt.ImhFormattedNumbersOnly
Layout.fillWidth: true
}
}
Label {
text: qsTr("horizontalAspectRatio")
tooltip: qsTr("Horizontal Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.horizontalAspectRatio
minimumValue: 0.0
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("reflection")
tooltip: qsTr("Reflection")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
id: reflectionCheckbox
backendValue: backendValues.reflection
Layout.fillWidth: true
}
}
Label {
text: qsTr("reflectivity")
tooltip: qsTr("Reflectivity")
Layout.fillWidth: true
visible: reflectionCheckbox.checked
}
SecondColumnLayout {
visible: reflectionCheckbox.checked
SpinBox {
backendValue: backendValues.reflectivity
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("margin")
tooltip: qsTr("Graph Margin")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.margin
minimumValue: -1.0
maximumValue: 100.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
// Kept for debugging
Label { }
SecondColumnLayout {
TextEdit {
id: debugLabel
Layout.fillWidth: true
wrapMode: TextEdit.WordWrap
textFormat: TextEdit.RichText
width: 400
visible: false
}
}
Controls.CheckBox {
property color textColor: colorLogic.textColor
id: checkBox
style: CustomCheckBoxStyle {}
visible: false
ColorLogic {
id: colorLogic
backendValue: backendValues.selectionMode
}
}
}
}
}

View File

@@ -0,0 +1,183 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Scatter3D")
SectionLayout {
Label {
text: qsTr("renderingMode")
tooltip: qsTr("Rendering Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.renderingMode
model: ["RenderIndirect", "RenderDirectToBackground",
"RenderDirectToBackground_NoClear"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("msaaSamples")
tooltip: qsTr("MSAA Sample Count")
Layout.fillWidth: true
}
SpinBox {
suffix: " x MSAA"
backendValue: backendValues.msaaSamples
minimumValue: 0
maximumValue: 16
Layout.fillWidth: true
}
Label {
text: qsTr("shadowQuality")
tooltip: qsTr("Shadow Quality")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.shadowQuality
model: ["ShadowQualityNone", "ShadowQualityLow", "ShadowQualityMedium",
"ShadowQualityHigh", "ShadowQualitySoftLow", "ShadowQualitySoftMedium",
"ShadowQualitySoftHigh"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("selectionMode")
tooltip: qsTr("Selection Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.selectionMode
model: ["SelectionNone", "SelectionItem"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("measureFps")
tooltip: qsTr("Measure Frames Per Second")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.measureFps
Layout.fillWidth: true
}
}
Label {
text: qsTr("orthoProjection")
tooltip: qsTr("Use Orthographic Projection")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.orthoProjection
Layout.fillWidth: true
}
}
Label {
text: qsTr("aspectRatio")
tooltip: qsTr("Horizontal to Vertical Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.aspectRatio
minimumValue: 0.1
maximumValue: 10.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("optimizationHints")
tooltip: qsTr("Optimization Hints")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.optimizationHints
model: ["OptimizationDefault", "OptimizationStatic"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("polar")
tooltip: qsTr("Use Polar Coordinates")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
id: polarCheckbox
backendValue: backendValues.polar
Layout.fillWidth: true
}
}
Label {
text: qsTr("radialLabelOffset")
tooltip: qsTr("Radial Label Offset")
Layout.fillWidth: true
visible: polarCheckbox.checked
}
SecondColumnLayout {
visible: polarCheckbox.checked
SpinBox {
backendValue: backendValues.radialLabelOffset
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("horizontalAspectRatio")
tooltip: qsTr("Horizontal Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.horizontalAspectRatio
minimumValue: 0.0
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("margin")
tooltip: qsTr("Graph Margin")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.margin
minimumValue: -1.0
maximumValue: 100.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
}
}
}

View File

@@ -0,0 +1,324 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Controls 1.1 as Controls
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Surface3D")
SectionLayout {
Label {
text: qsTr("renderingMode")
tooltip: qsTr("Rendering Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.renderingMode
model: ["RenderIndirect", "RenderDirectToBackground",
"RenderDirectToBackground_NoClear"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("msaaSamples")
tooltip: qsTr("MSAA Sample Count")
Layout.fillWidth: true
}
SpinBox {
suffix: " x MSAA"
backendValue: backendValues.msaaSamples
minimumValue: 0
maximumValue: 16
Layout.fillWidth: true
}
Label {
text: qsTr("shadowQuality")
tooltip: qsTr("Shadow Quality")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.shadowQuality
model: ["ShadowQualityNone", "ShadowQualityLow", "ShadowQualityMedium",
"ShadowQualityHigh", "ShadowQualitySoftLow", "ShadowQualitySoftMedium",
"ShadowQualitySoftHigh"]
Layout.fillWidth: true
scope: "AbstractGraph3D"
}
}
Label {
text: qsTr("selectionMode")
tooltip: qsTr("Selection Mode")
Layout.fillWidth: true
}
SecondColumnLayout {
id: selectionLayout
property bool isInModel: backendValue.isInModel;
property bool isInSubState: backendValue.isInSubState;
property bool selectionChangedFlag: selectionChanged
property variant backendValue: backendValues.selectionMode
property variant valueFromBackend: backendValue.value
property string enumScope: "AbstractGraph3D"
property string enumSeparator: " | "
property int checkedCount: 0
property bool selectionItem: false
property bool selectionRow: false
property bool selectionColumn: false
property bool selectionSlice: false
property bool selectionMulti: false
function checkValue(checkedVariable, variableText, expressionBase) {
var expressionStr = expressionBase
if (checkedVariable) {
if (expressionStr !== "") {
expressionStr += enumSeparator
}
expressionStr += enumScope
expressionStr += "."
expressionStr += variableText
checkedCount++
}
return expressionStr
}
function composeSelectionMode() {
var expressionStr = ""
checkedCount = 0
expressionStr = checkValue(selectionItem, "SelectionItem", expressionStr)
expressionStr = checkValue(selectionRow, "SelectionRow", expressionStr)
expressionStr = checkValue(selectionColumn, "SelectionColumn", expressionStr)
expressionStr = checkValue(selectionSlice, "SelectionSlice", expressionStr)
expressionStr = checkValue(selectionMulti, "SelectionMultiSeries", expressionStr)
if (checkedCount === 0)
backendValue.expression = enumScope + ".SelectionNone"
else
backendValue.expression = expressionStr
}
function evaluate() {
if (backendValue.value === undefined)
return
selectionItem = (backendValue.expression.indexOf("SelectionItem") !== -1)
selectionRow = (backendValue.expression.indexOf("SelectionRow") !== -1)
selectionColumn = (backendValue.expression.indexOf("SelectionColumn") !== -1)
selectionSlice = (backendValue.expression.indexOf("SelectionSlice") !== -1)
selectionMulti = (backendValue.expression.indexOf("SelectionMultiSeries") !== -1)
selectionItemBox.checked = selectionItem
selectionRowBox.checked = selectionRow
selectionColumnBox.checked = selectionColumn
selectionSliceBox.checked = selectionSlice
selectionMultiSeriesBox.checked = selectionMulti
}
onSelectionChangedFlagChanged: evaluate()
onIsInModelChanged: evaluate()
onIsInSubStateChanged: evaluate()
onBackendValueChanged: evaluate()
onValueFromBackendChanged: evaluate()
ColumnLayout {
anchors.fill: parent
Controls.CheckBox {
id: selectionItemBox
style: checkBox.style
text: "SelectionItem"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionItem = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionRowBox
style: checkBox.style
text: "SelectionRow"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionRow = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionColumnBox
style: checkBox.style
text: "SelectionColumn"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionColumn = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionSliceBox
style: checkBox.style
text: "SelectionSlice"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionSlice = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: selectionMultiSeriesBox
style: checkBox.style
text: "SelectionMultiSeries"
Layout.fillWidth: true
onClicked: {
selectionLayout.selectionMulti = checked
selectionLayout.composeSelectionMode()
}
}
}
}
Label {
text: qsTr("measureFps")
tooltip: qsTr("Measure Frames Per Second")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.measureFps
Layout.fillWidth: true
}
}
Label {
text: qsTr("orthoProjection")
tooltip: qsTr("Use Orthographic Projection")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.orthoProjection
Layout.fillWidth: true
}
}
Label {
text: qsTr("aspectRatio")
tooltip: qsTr("Horizontal to Vertical Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.aspectRatio
minimumValue: 0.1
maximumValue: 10.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("flipHorizontalGrid")
tooltip: qsTr("Flip Horizontal Grid")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.flipHorizontalGrid
Layout.fillWidth: true
}
}
Label {
text: qsTr("polar")
tooltip: qsTr("Use Polar Coordinates")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
id: polarCheckbox
backendValue: backendValues.polar
Layout.fillWidth: true
}
}
Label {
text: qsTr("radialLabelOffset")
tooltip: qsTr("Radial Label Offset")
Layout.fillWidth: true
visible: polarCheckbox.checked
}
SecondColumnLayout {
visible: polarCheckbox.checked
SpinBox {
backendValue: backendValues.radialLabelOffset
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("horizontalAspectRatio")
tooltip: qsTr("Horizontal Aspect Ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.horizontalAspectRatio
minimumValue: 0.0
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
Label {
text: qsTr("margin")
tooltip: qsTr("Graph Margin")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.margin
minimumValue: -1.0
maximumValue: 100.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
// Kept for debugging
Label { }
SecondColumnLayout {
TextEdit {
id: debugLabel
Layout.fillWidth: true
wrapMode: TextEdit.WordWrap
textFormat: TextEdit.RichText
width: 400
visible: false
}
}
Controls.CheckBox {
property color textColor: colorLogic.textColor
id: checkBox
style: CustomCheckBoxStyle {}
visible: false
ColorLogic {
id: colorLogic
backendValue: backendValues.selectionMode
}
}
}
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtDataVisualization 1.2
Bars3D {
width: 300
height: 300
Bar3DSeries {
ItemModelBarDataProxy {
itemModel: ListModel {
ListElement{ row: "row 1"; column: "column 1"; value: "1"; }
ListElement{ row: "row 1"; column: "column 2"; value: "2"; }
ListElement{ row: "row 1"; column: "column 3"; value: "3"; }
}
rowRole: "row"
columnRole: "column"
valueRole: "value"
}
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtDataVisualization 1.2
Scatter3D {
width: 300
height: 300
Scatter3DSeries {
ItemModelScatterDataProxy {
itemModel: ListModel {
ListElement{ x: "1"; y: "2"; z: "3"; }
ListElement{ x: "2"; y: "3"; z: "4"; }
ListElement{ x: "3"; y: "4"; z: "1"; }
}
xPosRole: "x"
yPosRole: "y"
zPosRole: "z"
}
}
}

View File

@@ -0,0 +1,24 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtDataVisualization 1.2
Surface3D {
width: 300
height: 300
Surface3DSeries {
ItemModelSurfaceDataProxy {
itemModel: ListModel {
ListElement{ row: "1"; column: "1"; y: "1"; }
ListElement{ row: "1"; column: "2"; y: "2"; }
ListElement{ row: "2"; column: "1"; y: "3"; }
ListElement{ row: "2"; column: "2"; y: "4"; }
}
rowRole: "row"
columnRole: "column"
yPosRole: "y"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,44 @@
MetaInfo {
Type {
name: "QtDataVisualization.Bars3D"
icon: "images/bars3d-icon16.png"
ItemLibraryEntry {
name: "Bars3D"
category: "Qt Data Visualization"
libraryIcon: "images/bars3d-icon.png"
version: "1.0"
requiredImport: "QtDataVisualization"
QmlSource { source: "default/Bars3D.qml" }
}
}
Type {
name: "QtDataVisualization.Scatter3D"
icon: "images/scatter3d-icon16.png"
ItemLibraryEntry {
name: "Scatter3D"
category: "Qt Data Visualization"
libraryIcon: "images/scatter3d-icon.png"
version: "1.0"
requiredImport: "QtDataVisualization"
QmlSource { source: "default/Scatter3D.qml" }
}
}
Type {
name: "QtDataVisualization.Surface3D"
icon: "images/surface3d-icon16.png"
ItemLibraryEntry {
name: "Surface3D"
category: "Qt Data Visualization"
libraryIcon: "images/surface3d-icon.png"
version: "1.0"
requiredImport: "QtDataVisualization"
QmlSource { source: "default/Surface3D.qml" }
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
module QtDataVisualization
linktarget Qt6::DataVisualizationQmlplugin
optional plugin datavisualizationqmlplugin
classname QtDataVisualizationPlugin
typeinfo plugins.qmltypes
depends QtQuick
prefer :/qt-project.org/imports/QtDataVisualization/
depends QtQuick