作者:曾wujcik_663 | 来源:互联网 | 2023-01-04 10:21
我的目标是在运行时添加ChartView
数量可变的QML LineSeries
。LineSeries
在用户选择并加载其中包含数据的文件之前,未知需要添加多少个。
我试图创建所有的LineSeries
内部Repeater
,没有运气。我怀疑这是因为ChartView
不知道该怎么办Item
。由于不适用于,因此无法直接进行Repeater
创建:LineSeries
Repeater
QObject
Repeater {
model: numberOfColumnsInModel / 2
delegate: Item {
LineSeries {
id: lineSeries
axisX: xAxis
axisY: yAxis
VXYModelMapper {
id: modelMapper
model: lineChart.model //Reimplemented QAbstractTableModel
xColumn: index * 2
yColumn: index * 2 + 1
}
onHovered: {
console.log("Do something...");
}
}
}
}
在我在线上看到的示例中,每个示例LineSeries
都是硬编码的(对于其中的每一行一次),ChartView
对我没有用。
1> folibis..:
使用强制文档,卢克。在下面的示例中,在启动时创建了具有随机点数的线的随机数:
import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
import QtCharts 2.1
Window {
id: window1
title: "Chart test"
visible: true
width: 600
height: 400
ChartView {
id: chart
anchors.fill: parent
axes: [
ValueAxis{
id: xAxis
min: 1.0
max: 10.0
},
ValueAxis{
id: yAxis
min: 0.0
max: 10.0
}
]
Component.onCompleted: {
var seriesCount = Math.round(Math.random()* 10);
for(var i = 0;i
在JS中连接没有问题。有关更多信息和我的更新示例,请参见[this](http://doc.qt.io/qt-5/qtqml-syntax-signals.html#connecting-signals-to-methods-and-signals)链接。