Anpassen von Diagrammansichten mit QML
Hinweis: Dies ist ein Teil des Beispiels "Diagramme mit QML-Galerie ".
Hier zeigen wir Ihnen, wie Sie ein Glücksrad erstellen können, indem Sie eine Tortenreihe anpassen.
Zuerst erstellen wir die ChartView und ein paar Serien.
ChartView { id: chartView anchors.fill: parent title: "Wheel of Fortune" legend.visible: false antialiasing: true PieSeries { id: wheelOfFortune horizontalPosition: 0.3 } SplineSeries { id: splineSeries } ScatterSeries { id: scatterSeries } }
Die Anwendungsdaten werden in Component.onCompleted des Hauptrechtecks erzeugt:
Component.onCompleted: { __intervalCoefficient = Math.random() + 0.25; for (var i = 0; i < 20; i++) wheelOfFortune.append("", 1); var interval = 1; for (var j = 0; interval < 800; j++) { interval = __intervalCoefficient * j * j; splineSeries.append(j, interval); } chartView.axisX(scatterSeries).max = j; chartView.axisY(scatterSeries).max = 1000; }
Die folgenden Anpassungen werden wiederholt mit einem Timer durchgeführt. Um jeweils eine der Tortenscheiben hervorzuheben, ändern wir ihre explodierte Eigenschaft:
wheelOfFortune.at(index).exploded = false; root.__activeIndex++; index = root.__activeIndex % wheelOfFortune.count; wheelOfFortune.at(index).exploded = true;
Dann eine Animation mit einer Streuungsreihe mit einem Datenpunkt:
scatterSeries.clear(); scatterSeries.append(root.__activeIndex, interval); scatterSeries.color = Qt.tint(scatterSeries.color, "#05FF0000"); scatterSeries.markerSize += 0.5;
Wenn das Glücksrad angehalten hat, lassen wir die aktive Scheibe blinken, indem wir ihre Farben ändern.
// Switch the colors of the slice and the border wheelOfFortune.at(index).borderWidth = 2; switchColor = wheelOfFortune.at(index).borderColor; wheelOfFortune.at(index).borderColor = wheelOfFortune.at(index).color; wheelOfFortune.at(index).color = switchColor;
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.